mariaDBをアンインストール
https://weblabo.oscasierra.net/installing-mysql56-centos7-yum/ を参考に行った。リンク先は5.6を入れているが、今回この記事では5.7を入れる。CentOS 7 にはmariaDBがデフォルトが入っていることがあり、MySQLと競合を起こすことがあるので削除したほうがいいとのこと。
$ yum remove mariadb-libs
$ rm -rf /var/lib/mysql/
MySQL 5.7 のインストール
続いてyumを使ってmysql 5.7 を入れていく
$ yum localinstall http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
$ yum -y install mysql-community-server
$ mysqld --version
mysqld Ver 5.7.18 for Linux on x86_64 (MySQL Community Server (GPL))
起動時に自動的に MySQL Sever が起動するように設定
$ chkconfig
...
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
...
$ sudo systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on
ついでに MySQL Server を起動
$ sudo systemctl start mysqld
止めたい時は start
の代わりに stop
となる
MySQL の root の初期パスワードを確認
以下のコマンドで確認できる
sudo cat /var/log/mysqld.log | grep 'temporary password'
[Note] A temporary password is generated for root@localhost: XXXXXXXXXX
MySQL に接続してみる
$ mysql -u root -p
Enter passwrod: #先ほどのパスワードを入力
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.18
root のパスワードを変更する
これからroot以外のユーザーを作ろうと思うのですが、rootで何かする前に必ずrootのパスワードを変更しないといけないようなので変更します。
rootでMySQLにログインして以下のコマンドを実行します。
mysql> set password = 'h0geFug@';
パスワードにはある程度の制限があります。Tipsを参考にしてください。
Tips
以下のエラーが出た場合
ERROR 1819 (HY000): Your password does not satisfy the current policy requiremen ts
MySQL 5.7からパスワードが脆弱すぎるとエラーになるようです。デフォルトだと、8文字以上で、英語大文字・小文字・数字・記号 の4種類の文字を含んでいる必要があるようです。この制限を外すこともできます。外したいかたはググってください。ちなみにデフォルトのパスワードをそのまま入れても一応通るらしい。
ユーザーを作成する
rootでログインして以下のようなコマンドでユーザーを作成できます。
mysql> CREATE USER 'uma'@'localhost' IDENTIFIED WITH mysql_native_password BY 'h0geFug@';
ここのパスワードもある程度の入力制限をうけます。
実際に作成したユーザーでログインできることを確認します。
$ mysql -u uma -p
Tips
以下のエラーが出た場合
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
root のパスワードが初期設定のままなので変更する必要があります。「rootのパスワードを変更する」の章を参考にしてください。