第8回 MySQLのバージョン体系を知るの中で、
MySQLのインストール方法はいくつかありますが、
yumリポジトリーを使用したインストール
MySQL開発元のOracleが公開しているyumリポジトリーを利用してインストールする方法です。メリットとしてはインストール、
$ sudo yum install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm $ sudo yum install mysql-community-server
インストール自体は方法も変わりませんし、cronie
パッケージなどの依存関係でインストールされるBaseリポジトリーのmysql-libs
パッケージと相性が悪く、mysql-libs
パッケージをmysql-community-libs-5.
にアップグレードしてくれました。
yumリポジトリーを利用したインストールにおけるMySQL 5.6と5.7の相違点
まずは表形式でまとめてみました。
MySQL 5.
rpm版 5. | yum版 5. | 5. rpm版, yum版共通 | CentOS 6. | |
---|---|---|---|---|
MySQLサーバ | MySQL-server | mysql-community-server | mysql-community-server | mysql-server |
MySQLコマンドラインクライアント | MySQL-client | mysql-community-client | mysql-community-client | mysql |
MySQLライブラリー | MySQL-shared | mysql-community-libs | mysql-community-libs | mysql-libs |
旧バージョンのMySQLライブラリー | MySQL-shared-compat | mysql-community-libs-compat | mysql-community-libs-compat | なし |
MySQLヘッダファイル | MySQL-devel | mysql-community-devel | mysql-community-devel | mysql-devel |
MySQL単体テストスイート | MySQL-test | mysql-community-test | mysql-community-test | mysql-test |
サービス名service コマンドで参照する名前) | mysql | mysqld | mysqld | mysqld |
データディレクトリーの初期化 | mysql_ インストール時 | mysql_service mysqld start 時 | mysqld --initializeservice mysqld start 時 | mysql_service mysqld start 時 |
エラーログファイル名 | /var/ | /var/ | /var/ | /var/ |
初期ユーザ | root@localhostなどrootのみ | root@localhostなどと匿名ユーザ | root@localhostのみ | root@localhostなどと匿名ユーザ |
rootアカウントの仮パスワード | /root/ | 生成しない | /var/ | 実装なし |
validate_ | バンドルされているが有効化されていない | バンドルされているが有効化されていない | 有効化されている 英大文字小文字数字記号の4種を含んだ8文字以上 | 実装なし |
ユーザ作成 | GRANT ステートメント | GRANT ステートメント | CREATE USER ステートメントパスワード設定時は GRANT ステートメントでワーニングパスワード未設定時は GRANT ステートメントがエラー | GRANT ステートメント |
LOAD DATA INFILEに対する制限secure_ オプション) | なし | なし | /var/ | なし |
アカウントの自動EXPIRE | 実装なし | 実装なし | 360日 | 実装なし |
以下、
パッケージ名の相違
MySQL 5.
サービス名の相違
旧rpm版は"mysql"、/etc/
と/etc/
とそれぞれ名前が違います。シェルからinitスクリプトを実行する分にはTabキーによるパス補完などで気にする必要はないかと思いますが、service
コマンドで記載する場合やchkconfig
コマンドなどの引数にする場合は注意してください。
エラーログファイルのパス
旧rpm版では"/var/log_
が設定されているため、
初期ユーザの相違
MySQL 5.skip_
オプションが有効な環境下ではlocalhostと127.
rootアカウントの仮パスワード
MySQL 5.
パスワード強度の制限
パスワードの強度を制限し、validate_
プラグインはMySQL 5.INSTALL PLUGIN
ステートメントでインストールしない限り有効にはなりませんでした。yum版、
ユーザ作成ステートメントの変更
MySQL 5.GRANT
ステートメントで権限を付与すると同時にアカウントを作るやり方が一般的でしたが、IDENTIFIED BY
句なし、GRANT
と同時に作成しようとした場合はエラーになります)。今後はCREATE USER
ステートメントでユーザを作成後にGRANT
ステートメントで権限を割り当てるやり方になります。CREATE USER
ステートメント自体は旧来からサポートされているステートメントであるため、
secure_file_priv
secure_
オプションはLOAD DATA INFILE
ステートメントやSELECT INTO OUTFILE
ステートメント、LOAD_
関数の動作ディレクトリを制限するためのオプションです。オプション自体は旧来から存在しましたが、LOAD DATA INFILE
などを許可)LOAD DATA INFILE
などで読み込もうとした場合にエラーになるようになりました。
アカウントの自動失効
MySQL 5.
今回はyumリポジトリーを利用したインストールにおけるMySQL 5.
yum版を利用したMySQLのインストールは自動化にとても便利なので、