MySQL道普請便り
第10回 yum, rpmインストールにおけるMySQL 5.6とMySQL 5.7の違い
第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のインストールは自動化にとても便利なので,
バックナンバー
MySQL道普請便り
- 第10回 yum, rpmインストールにおけるMySQL 5.6とMySQL 5.7の違い
- 第9回 pt-query-digestを使って遅いクエリーを発見する
- 第8回 MySQLのバージョン体系を知る
- 第7回 スロークエリーログを使って遅いクエリを収集する
- 第6回 mysqlコマンドラインクライアントにページャーを指定する
- 第5回 Dockerで複数バージョンのMySQLを開発環境に用意する
- 第4回 テーブルをコピーするついでにデータディレクトリーの中身を知る
- 第3回 MySQLのバグかな? と思ったその時は
- 第2回 MySQLにはじめてのデータを入れてみる
- 第1回 MySQLの利用に役立つ情報源