CentOS7にMySQL5.7をインストールしたいっ!

諸般の事情によりMySQL5.7が必要だったので、CentOS7にインストールしました。
今回はクリーンなCentOS7なので、まだMySQLはインストールしていない状態です。
(すでにMySQLやMariaDBが入っている場合は削除しときましょう)

yum追加

https://dev.mysql.com/downloads/repo/yum/からリンクを探し出して

yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

yumの切り替えができるようにyum-utilsもインストールしときます

yum install yum-utils

# 確認
yum repolist all | grep mysql

# mysql8.0を無効に
yum-config-manager --disable mysql80-community

# mysql5.7を有効に
yum-config-manager --enable mysql57-community

MySQLインストール

mysql57のrepoが有効になっているので、

yum -y install mysql-community-server mysql-devel

起動/停止/再起動

systemctl start mysqld.service
systemctl stop mysqld.service
systemctl restart mysqld.service

接続

mysqlを起動した状態で接続します

mysql -u root

パスワードが設定されていないので入れません・・。

一旦停止して、

systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

上記を入力してから起動

あらためてrootのpassなしで接続できました。

mysql -u root

rootユーザにパスワードを設定しておきます

update user set authentication_string=password("ここにパスワード") where user='root';
flush privileges;

–skip-grant-tablesを削除して

systemctl set-environment MYSQLD_OPTS=""

再起動。

あとは

mysql -u root -p

で先ほど設定したpasswordでログインできました👍

参考

MySQL 5.7 を CentOS 7 に yum インストールする手順 | WEB ARCH LABO
CentOS7.3 に MySQL5.7 をインストールした時のメモ – Qiita
CentOS7にMysql5.6インストール(バージョン指定してインストールしたい場合) – Qiita