#環境
- macOS 10.12.6
- MacBook pro 2016
- VirtualBox 5.2.18
- CentOS 7.6-1810
- MySQL 5.7.25
#リポジトリの追加
MySQLはyumコマンドでインストールします。
CentOS 7では公式のyumリポジトリにMySQLがないので、まずはMySQLの公式が用意しているリポジトリを追加します。
※ yum
と リポジトリ
に関しては、こちらの記事をご覧ください。
###rpmファイルをインストール
まず、MySQL Yum リポジトリをシステムのリポジトリリストに追加します。この操作は一度だけ必要で、MySQL が提供する RPM をインストールすることで実行できます。次の手順に従います。
MySQL公式より
ってことなので、公式が用意しているrpmファイルをインストールすれば、yumのリポジトリもいい感じに追加してくれるみたいです。yumコマンドのlocalinstall
オプションを使うことでリモートにあるrpmファイルをインストールすることができます。
rpmコマンドを使ってのインストールも可能ですが、依存関係とかを考慮したインストールまではしてくれないので、yumでインストールしましょう。
# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
上のURLはリモートにあるrpmファイルをインストールするためのもので、公式サイトの、下の画像の赤枠部分を、http://dev.mysql.com/get/
の後に付け加えて完成です。(お使いのOSに合わせたものを選んでください)
###リポジトリの確認
/etc/yum.repos.d
配下に、mysql-community-source.repo
とmysql-community.repo
というリポジトリが作成されてるはずです。
# cd /etc/yum.repos.d/
# ls
mysql-community-source.repo mysql-community.repo
このリポジトリが作成されて入れば、リポジトリの追加の確認は完了
#yumでインストール
まずは、リポジトリの反映の確認。
# yum info mysql-community-server
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp-srv2.kddilabs.jp
* extras: ftp-srv2.kddilabs.jp
* updates: ftp.jaist.ac.jp
利用可能なパッケージ
名前 : mysql-community-server
アーキテクチャー : x86_64
バージョン : 5.7.25
リリース : 1.el7
容量 : 165 M
リポジトリー : mysql57-community/x86_64
要約 : A very fast and reliable SQL database server
URL : http://www.mysql.com/
ライセンス : Copyright (c) 2000, 2018, Oracle and/or its affiliates.
: All rights reserved. Under GPLv2 license as shown in the
: Description field.
説明 ...(省略)
こんな感じでパッケージ情報が出てくれていれば、確認OK
あとは、インストール
# yum install -y mysql-community-server
うまくいけば、完了しました!
と出るはずです。
#MySQLのデーモンの起動と停止
###確認
しっかりMySQLが入ってるかの確認
# mysqld --version
###起動
# systemctl start mysqld
CentOS 6 以下は、service
コマンドを使ってください。
###起動の確認
# systemctl status mysqld
たくさん文字が出てきますが、Active: active (running)
とどこかにあれば動いている証しです。
###停止
# systemctl stop mysqld
###自動起動の設定
これは、CentOSの起動・再起動の際に一緒にmysqldも起動するようにする設定です。
以下のコマンドでOK
# systemctl enable mysqld
CentOS 6 以下は、chkconfig
コマンドを使ってください。
#MySQLの初期設定
###rootユーザーでログイン
MySQLは初期状態だと、ユーザーがrootしかいないので、一旦rootで入らなくてはならないです。
しかし、
# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
このように、パスワードなしでアクセスしようとすると怒られます。
###初期パスワードの確認
当然、rootでアクセスするにはパスワードが必要なのですが、初期パスワードが何かわからないので、確認する必要があります。
初期パスワードは、mysqlのログの中で確認できます。ログの中身をroot
でgrepした時の一番最初の行にちらっと記載されています。ログファイルは/var/log/mysqld.log
です
# cat /var/log/mysqld.log | grep root
2019-01-24T17:10:57.681293Z 1 [Note] A temporary password is generated for root@localhost: [ここにパスワードの文字が記載されているはず]
# mysql -u root -p //上記のパスワードでログイン
Enter password:
###パスワードの変更
rootでログインできたら、自分の分かりやすいパスワードに変更しちゃいましょう!
変更の仕方は、以下です。
※8文字以上かつ英大文字・小文字・数字・記号を含めないとエラーで返されます。
# SET PASSWORD = PASSWORD('任意のパスワード')
これで変更完了!次回からは自分が設定したパスワードでログインしよう!
###文字コードの確認と変更
設定されている文字コードの確認は以下で行えます。
mysql> show variables like "chara%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
上の表記は、以下らしいです。この方の記事より
character_set_client : クライアント側で発行したsql文はこの文字コードになる
character_set_connection : クライアントから受け取った文字をこの文字コードへ変換する
character_set_database : 現在参照しているDBの文字コード
character_set_results : クライアントへ送信する検索結果はこの文字コードになる
character_set_server : DB作成時のデフォルトの文字コード
character_set_system : システムの使用する文字セットで常にutf8が使用されている
これを全部UTF-8
にしてしまった方が良いみたい(エラーの原因になるから統一した方がいいってことかな?何故だろう…)
mysqlの設定ファイルは/etc/my.cnf
です。
一回mysqlからログアウトして、設定しましょう。
# vi /etc/my.cnf
//以下をファイルの末尾に追記
character_set_server=utf8
skip-character-set-client-handshake
# systemctl restart mysqld //再起動させて変更を反映させる
mysqlに再度ログインして変更されているか確認してみましょう!
mysql> show variables like "chara%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
全部UTF-8
になってますね!
これで初期設定終わり!お疲れ様でした!