#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で作り直す。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS