インストールと設定(2)
8960 ワード
MySQLのアップグレード
1.アップグレード・タイプ
サーバーをアップグレードする方法は大きく2つあります.
MySQLサーバ上のデータファイルを保持およびアップグレードする方法
mysqldumpツールを使用して、MySQLサーバ上のデータをSQL文またはテキストファイルにダンプし、新しいアップグレードされたMySQLサーバからダンプされたデータをロードする方法.
論理アップグレードはほとんど制限されず、アップグレードは遅い.
オンサイトアップグレードの制限要因としては、以前の制作バージョンでのみアップグレードできます.
たとえば、5.5から8.0へのアップグレードには、5.5>5.6>5.7>8.0のプロセスが必要です.
論理アップグレードでは、符号化、sql/プロシージャ構文もチェックする必要があります.
2.MySQL 8.0アップグレードの注意事項
MySQL 8.0には、改善、変更、削除の機能があります.
アップグレードする前に影響する内容を確認します.
ユーザー認証方式の変更
MySQL 8.0は、DefaultとしてCaching SHA-2認証(以下、SHA-2と略す)の使用を開始します.Native Authenticatioを引き続き使用する場合は、--default-authentication-plugin=mysql native passwordパラメータをアクティブにするだけです.
MySQL 8.0との互換性チェック
mysqlcheckユーティリティを使用して検証できます.互換性タイプ、破損したデータファイルを確認する
外部キー名の長さ
MySQL 8.0外部キー名の長さを64文字に制限します.
索引のヒント
MySQL 5.xが使用するインデックスプロンプトがある場合は、MySQL 8.0のアップグレード後にパフォーマンステストを実行します.旧バージョンはパフォーマンスの向上に役立ちますが、MySQL 8.0ではパフォーマンスが低下する可能性があります.
GROUP BYで使用するソートオプション
MySQL8.0からこの構文はサポートされていません.
パーティションの共通テーブルスペース
MySQL 8.x各テーブルスペースを共通テーブルスペースに保存することはできません.共通テーブルスペースに保存されている場合、ALTER TABLE...REORGANSIZEコマンドを実行し、単一の表領域を使用するように変更します.
3.MySQL 8.0のアップグレード
MySQL 5.7から8.0へのアップグレードは2つの段階に分かれています.
MySQL 8.0.16以降では、4番目のバージョンでデータ複製のアップグレード、5番目のバージョンでサーバのアップグレードが行われます.
サーバの設定
通常、MySQLサーバでは1つのプロファイルのみが使用され、UNIXシリーズでは「my.cnf」、ウィンドウシリーズでは「my.ini」が使用されます.MySQLサーバは起動時のみこのプロファイルを参照します.このプロファイルのパスは固定されていません.MySQLサーバは、指定した複数のディレクトリを順にブラウズし、myを初めて発見します.cnfを使用します.
ファイルのパスを設定するには、次のコマンドを使用して検証し、デーモンプロセスを使用して検証しないようにします.
# 데몬을 사용하여 조회
$ mysqld --verbose --help |grep my.cnf
# 클라이언트 유틸을 사용하여 조회
$ mysql --help |grep my.cnf
#출력
[root@191 mysql]# mysqld --verbose --help |grep my.cnf
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default
[root@191 mysql]# mysql --help |grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
ファイルパスのナビゲーション順序の設定設定ファイルの設定
MySQLプロファイルには複数の設定グループが含まれており、通常は実行プログラム名をグループ名として使用します.
[mysqld]
port = 3306
.
.
.
[mysqldump]
quick
max_allowed_packet = 64M
default_character_set = utf8
[mysql]
no_auto_rehash
prompt=mysql (\d)>
[mysqld_safe]
open-files-limit = 65535
システム変数の特徴
MySQLサーバは、起動時にシフォンファイルの内容を読み込み、メモリまたは動作を初期化し、これらの値を個別に保存して接続するユーザーを制御します.
mysql> show variables\G;
*************************** 1. row ***************************
Variable_name: activate_all_roles_on_login
Value: OFF
*************************** 2. row ***************************
Variable_name: admin_address
Value:
*************************** 3. row ***************************
Variable_name: admin_port
Value: 33062
*************************** 4. row ***************************
Variable_name: admin_ssl_ca
Value:
*************************** 5. row ***************************
Variable_name: admin_ssl_capath
Value:
*************************** 6. row ***************************
Variable_name: admin_ssl_cert
Value:
*************************** 7. row ***************************
Variable_name: admin_ssl_cipher
Value:
*************************** 8. row ***************************
Variable_name: admin_ssl_crl
Value:
*************************** 9. row ***************************
Variable_name: admin_ssl_crlpath
Value:
*************************** 10. row ***************************
Variable_name: admin_ssl_key
Value:
*************************** 11. row ***************************
Variable_name: admin_tls_ciphersuites
Value:
💡 ドキュメントにはシステム変数の説明があり、5種類の属性に分けられます.YUMCMD-LINECLIまたはOption file設定ファイル(my.cnf)、制御またはシステムVarシステム変数「-」、「」に変更できます.Var Scopeシステム変数の適用範囲(GLOBAL/SESION)を動的に変更できるかどうかご注意ください
1.グローバル変数とセッション変数
グローバル変数
グローバル範囲内のシステム変数は、MySQLサーバのインスタンスでグローバルに影響するシステム変数です.
MySQLサーバにはinnodb buffer poolなどが1つしか存在しません.
セッション変数
セッション範囲内のシステム変数は、MySQLクライアントがMySQLサーバに接続されたときのデフォルトオプションのデフォルト値を制御するために使用されます.
DEFAULT値はグローバル変数であり、autocommitを表します.
2.静的変数と動的変数
サーバの起動中に変更できる場合は動的変数、変更できない場合は静的変数です.
mysql> show variables where variable_name like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1 |
+----------------------+-------+
1 row in set (0.00 sec)
mysql> SET GLOBAL innodb_fast_shutdown=0;
mysql> show variables where variable_name like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| innodb_fast_shutdown | 0 |
+----------------------+-------+
1 row in set (0.00 sec)
動的変数には、再起動時のdefaultオプションとmyが含まれます.注意cnfオプションを使用して初期化3. 👍SET PERSIST
MySQL 8.0バージョンで追加されたSET PERSISTコマンドを使用して、反映される動的変数mysqld-autoを指定します.cnfに記録する.MySQLサーバーmyを再起動します.cnfとmysqld-auto.cnfの両方は、システム変数を反映するために参照される.
#「」を参照してください.
白恩彬李晟旭2021、Real MySQL 8.0(1冊).Wekibooks
MySQL 8.0 Reference Manual
Reference
この問題について(インストールと設定(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@minstone/설치와-설정-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol