こんにちは~
4学期が始まり、サーバ構築演習2もスタートしましたね。
※4学期にサーバ構築演習Ⅱブログやっている暇があるのか…!?
ちなみに、今回は1~2時間くらいかかりますかね。
画像は80枚位用意しました。
また、基本的には備忘録にしていきますので、詳しいことは講義でしっかり解説があるので、何度も見直しましょう。
目次
やること
- 第1,2回講義を聞く
 - 講義の通りコマンドを実行する
 - CentOSへSQLサーバのインストール
 - MySQL Workbenchのインストール
 - ホストPCからCentOSへの接続
 - 結果のログ等の確認
 
第1,2回講義を聞く
サーバ構築演習1を理解した上での「サーバ構築演習2」の講義のため、事前学習・事後学習はしっかりやりましょう。
SQLサーバのインストール
MySQLインストール
CentOSを立ち上げましょう
※サーバ構築演習1でやったことを思い出してくださいね。
| 
					 1  | 
						sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm  | 
					



MySqlファイルを取得できたか確認
| 
					 1  | 
						ls /etc/yum.repos.d/mysql*  | 
					

MySqlをinfoで確認
| 
					 1  | 
						sudo yum info mysql-community-server  | 
					


MySqlをinstallコマンドでインストール
| 
					 1  | 
						sudo yum install mysql-community-server  | 
					




MySqlをsystemctlで有効化
各コマンドの意味は、講義聞いてれば(というかサーバ構築演習1でやったコマンドなので)仕事でシステム関係いじってる人は雰囲気はわかりますよね?(まったくの初見だと意味わからないかもですが。)
| 
					 1  | 
						sudo systemctl enable mysqld  | 
					

| 
					 1  | 
						sudo systemctl start mysqld  | 
					

| 
					 1  | 
						sudo systemctl status mysqld  | 
					

【重要】MySQLのパスワード設定(各個人で異なります)
| 
					 1  | 
						sudo cat /var/log/mysqld.log | grep root  | 
					


root@localhost:以降の文字が、各自の初期設定のパスワードになります
私の場合は、&wKAlrRBk4b_でした。
※アンダーバーを見逃していて、少し時間がかかりました…
※すぐ使いますが、一旦、メモしておいてください。
| 
					 1  | 
						mysql -u root -p  | 
					

とりあえず、パスワードを聞かれたら、先程の「&wKAlrRBk4b_」を入力してEnterを押します。
※ただし、皆さんのパスワードは異なりすので、先程確認したパスワードを入力してくださいね。


| 
					 1 2 3  | 
						*** 例(最後の;までしっかりと) *** set password = password('PassWord123!'); ※このパスワード忘れるとやばいです。  | 
					

| 
					 1 2  | 
						*** ちなみに以下のコマンドで、MySQLから抜けられます exit  | 
					

ERROR 1045 (28000):でMySQLにrootログインできない場合の対策
https://onoredekaiketsu.com/can-not-root-login-to-mysql-with-error-1045-28000/
CentOS7でMySQLにログインできない
my.cnfファイルの編集
| 
					 1  | 
						sudo nano /etc/my.cnf  | 
					

| 
					 1 2 3  | 
						講義の通り、以下の設定を追加しましょう。 character_set_server=utf8 skip-character-set-client-handshake  | 
					


systemctlコマンドでmysqldを再起動
| 
					 1  | 
						sudo systemctl restart mysqld  | 
					

稼働しているか確認
| 
					 1  | 
						ps -awwux | grep mysqld  | 
					

MySqlに再度ログイン
| 
					 1  | 
						mysql -u root -p  | 
					
さぁ、パスワードを聞かれましたね…どのパスワードかわかりますか・・・?※理解して定着するためにも、講義を何度か聞き直して見ることもおすすめします。

| 
					 1 2  | 
						***一旦exitで抜けましょう exit  | 
					
firewallの設定と確認
| 
					 1  | 
						sudo firewall-cmd --add-service=mysql --zone=public --permanent  | 
					

| 
					 1  | 
						sudo systemctl restart firewalld  | 
					

リモートログインの設定
| 
					 1  | 
						ip addr  | 
					

ここで、自分のIPアドレスを確認してください。
※私のは、192.168.3.13でした。
mysql側からの確認
| 
					 1  | 
						mysql -u root -p  | 
					

| 
					 1  | 
						grant all privileges on *.* to root@'192.168.%' identified by 'PassWord123!';  | 
					


データベースの確認
| 
					 1 2 3 4  | 
						* 3つのコマンドで確認しよう show databases; connect sys; show tables;  | 
					







ホストPC側設定
ホスト側PCというのは、VirtualBoxをインストールしているPCのことです。WindowsやMacOSのことですね。
workbenchダウンロード



インストール







SQLサーバへの接続
WorkBenchを立ち上げましょう

Hostname:CentOSのIPアドレス
Username:root
Password:「~123~」のやつ


| 
					 1 2  | 
						*ボタン* TestConnection  | 
					

| 
					 1 2  | 
						*ボタン* OK  | 
					
動作確認


| 
					 1  | 
						select * from sys.host_summary;  | 
					

そして、結果が出る

スロークエリのログを取りたい※SQLサーバ側設定
my.cnfの編集2
| 
					 1  | 
						sudo nano /etc/my.cnf  | 
					

| 
					 1 2 3 4 5  | 
						*以下の記述を追加 slow_query_log=1 long_query_time=1.0 log_queries_not_using_indexes=1 slow_query_log_file='slow_query.log'  | 
					
再起動
| 
					 1 2  | 
						*PCやCentOS再起動でもいいですけどね sudo systemctl restart mysqld  | 
					
world databaseのダウンロード、設定






右下:StartImport

| 
					 1  | 
						select * from city, country;  | 
					


| 
					 1 2 3  | 
						* 明示的にテーブルを指定してあげる(他に設定でいけるのかもしれないが、方法不明) use world; select * from city, country;  | 
					




★ログって・・・

/var/lib/mysql/slow_query.log
という名前で保存されているはず。
ファイル名が異なる場合は、演習中のファイル編集でタイポしています。
WinSCP等で、ファイルをダウンロードしてログを覗いてみてくださいね。

【追加】リモートログインの許可
講義外ですが、リモートログインの許可復活させました。
| 
					 1  | 
						sudo nano /etc/ssh/sshd_config  | 
					

| 
					 1  | 
						PermitRootLogin yes  | 
					

保存:ctrl+o
終了:ctrl+x
サーバ設定
| 
					 1  | 
						systemctl reload sshd.service  | 
					


なにかパスワード聞かれましたが、CentOSのユーザのパスワードでしょう(多分)
とりあえず‥ログインできましたね
課題提出
ファイルであったり、ログを提出ですかね?何を提出すべきかは、よく確認してみてくださいね。
もしくは、一般ユーザを使って、WinSCPやsshでログインする事が良さそうです。 ※私は、rootでログインできるように解除してしまったので・・・
まとめ

- SQLサーバのインストールを行いました
 - CentOSからSQLサーバにアクセスしました
 - 動作確認を行いました
 - 演習課題は、何を提出するのかよく確認してみてくださいね。
 


ピノちん(仮名)
こんにちは!同じく東京通信大学で学ぶものです。
この難関科目を進める事ができたのは、まさにこの記事のおかげです。
ありがとうございます。激感謝しております。
私は今、4年4学期で、苦手科目のシワ寄せで苦しんでいますが本当にこの記事のおかげで救われた気持ちです!ありがとう!
もう卒業できたけど、このサイトのサーバー論などのいくつかの記事でずいぶん助かりました。
ありがとうございました。