#author("2020-07-29T04:50:21+00:00","default:wikiwriter","wikiwriter") #author("2020-07-29T05:23:57+00:00","default:wikiwriter","wikiwriter") &tag(CentOS6/MySQL8); *目次 [#s475f6b4] #contents *関連ページ [#l6f6c20e] *参考情報 [#pd323d03] -[[CentOS 6にMySQL 8.0をインストール(公式レポジトリ) - Qiita:https://qiita.com/witchcraze/items/4a84722e3c1fd4e67bdd]] *古いバージョンのアンインストール [#qe07c49e] -以下のコマンドで確認。 yum list installed | grep mysql -表示されたパッケージをアンインストール。 yum remove mysql.x86_64 mysql-libs.x86_64 compat-mysql51.x86_64 *インストール [#h96796e8] -以下の手順でインストール。CentOS 6.10でも(el6-3)で良いらしい。 #pre{{ # yum install -y yum-utils # yum install -y https://dev.mysql.com/get/mysql80-community-release-el6-3.noarch.rpm # yum repolist all | grep mysql # yum-config-manager --enable mysql80-community # yum install mysql-server mysql-devel }} *設定 [#hb7bad3e] **my.cnfの編集 [#i422da8d] -innodb関連の設定はほとんど削除され、8.0.1以降の文字コードはデフォルトがutf8mb4となっている。[[MySQL8.0の文字コード設定 | blog.kotamiyake.me:https://blog.kotamiyake.me/tech/mysql8-0-character-set/]]。これをふまえて最小限にする。 #pre{{ [mysqld] collation-server=utf8mb4_bin validate_password.policy=LOW }} -後でmysqlに接続し確認するとよい(先にrootのパスワードを設定する必要あり) mysql> show variables like "%char%"; **rootパスワードの設定 [#a963c3ce] -以下のコマンドでmysqldを起動。 # service mysqld start -mysqldに表示されている一時パスワードを使って接続。「validate_password.policy=LOW」にしてないといろいろエラーとなるかも。 mysql -uroot -p<一時パスワード> mysql> ALTER USER 'root'@'localhost' identified BY 'hoge'; *サービスの起動と自動起動 [#w0a460b8] -以下のコマンドで起動 #pre{{ # service mysqld start # chkconfig mysqld on }} *安全に [#q6607bdf] mysql_secure_installation *トラブルシューティング [#o34ccad7] **Unsupported redo log format (0). The redo log was created before MySQL 5.7.9 [#a808d31b] -redo logのフォーマットが対応していないのが原因か。 -一度バックアップしてインストールしなおすのが原因か。 **mysqldを起動しようとすると「Table 'mysql.component' doesn't exist」エラー。 [#s8a8b5b3] -以下のようなエラーが発生。 [ERROR] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-001146 - Table 'mysql.component' doesn't exist -/var/lib/mysqlを削除し、mysql:mysqlで作り直す。