
CentOS7(を含む多くのディストリビューション)では、現在はMySQLではなくMariaDBが標準になっています。
しかし、MariaDBではなくMySQLを利用したいケースも依然としてあります。
(MeCab Paserを利用したい場合など)
今回MySQLを使う場面があったので、差し替える方法を覚書き。
1. MariaDBの削除
すでにMariaDBが導入されている場合は消去します。
まずはMariaDBのパッケージを確認。
| 1 2 3 4 5 6 |  rpm -qa | grep aria       MariaDB-client-10.3.0-1.el7.centos.x86_64       MariaDB-compat-10.3.0-1.el7.centos.x86_64       MariaDB-server-10.3.0-1.el7.centos.x86_64       MariaDB-common-10.3.0-1.el7.centos.x86_64 | 
すべて削除。
削除されたことを確認。
| 1 2 3 4 | sudo yum remove MariaDB-client-10.3.0-1.el7.centos.x86_64 sudo yum remove MariaDB-common-10.3.0-1.el7.centos.x86_64 rpm -qa | grep aria | 
関連ライブラリもすべて消します。
| 1 2 | sudo rm -rf /var/lib/mysql | 
2.MySQLの導入
yumをクリーンした後、リポジトリを取得。
(最新のリポジトリは公式で確認)
mysql-community-source.repoとmysql-community.repoが取得できたことを確認。
| 1 2 3 4 | clean all sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm ls /etc/yum.repos.d | grep mysql | 
それぞれインストール。
| 1 2 3 | sudo yum install mysql-community-client sudo yum install mysql-community-server | 
バージョン確認。
取得したリポジトリと同じバージョンのMysqlが入っていることを確認。
| 1 2 3 | mysqld --version      mysqld  Ver 5.7.20 for Linux on x86_64 (MySQL Community Server (GPL)) | 
3.初回起動まで
サービス起動。
エラーが出て起動しない場合はrebootした後、再度MySQLを起動。
| 1 2 3 4 | systemctl start mysqld.service  systemctl reboot -l systemctl start mysqld.service | 
自動生成されたパスワードを確認。
| 1 2 3 | cat /var/log/mysqld.log | grep 'temporary password'     2017-11-22T02:46:38.389224Z 1 [Note] A temporary password is generated for root@localhost: hogehogehoge | 
これでログインできるはず。
| 1 2 | mysql -u root -phogehogehoge | 
