mysql验证配置_详解MySQL|教你一招如何自动验证 MySQL 配置正确性
升級 MySQL 版本之后,許多用戶在啟動時并未更改配置文件,但發現新的的版本不再支持某些已棄用的選項,這會導致升級的 MySQL 服務關閉。在其他情況下,修改配置文件時錯誤輸入無效的配置項會使得服務拒絕啟動。在 MySQL 5.7 中,用戶依賴于使用 'help' 和 'verbose' 選項以及服務器配置的組合來測試選項,即./sql/mysqld?--verbose?--help?--foo=barTo?see?what?values?a?running?MySQL?server?is?using,?type'mysqladmin?variables'?instead?of?'mysqld?--verbose?--help'.2019-03-14T05:13:46.500953Z?0?[ERROR]?Aborting
在 MySQL 8.0.16 中,引入了一個名為“validate-config”的新選項,以幫助用戶快速測試服務配置,而無需運行。如果沒有發現問題,服務器退出時退出代碼為零。對于首次出現無效配置,服務器將以錯誤(錯誤號 1 )退出。
例如,讓我們考慮在 MySQL 5.7 中棄用的服務器選項 'txreadonly' 并刪除 MySQL 8.0:./runtime_output_directory/mysqld?--tx_read_only=on?--validate-config2019-03-30T10:40:02.712141Z?0?[ERROR]?[MY-000067]?[Server]?unknown?variable'tx_read_only=on'.2019-03-30T10:40:02.712178Z?0?[ERROR]?[MY-010119]?[Server]?Aborting
validate-config 選項還可以與配置文件一起使用,以檢查配置文件中指定的選項。例如:./runtime_output_directory/mysqld???\--defaults-file=/home/nisha/workspace1/my.cnf?--validate-config2019-03-07T06:23:31.411188Z?0?[ERROR]?[MY-000067]?[Server]?unknown?variable'tx_read_only=1'.2019-03-07T06:23:31.411250Z?0?[ERROR]?[MY-010119]?[Server]?Aborting
請注意,使用 defaults-file 選項時,它應該是命令行上的第一個選項,如上所示。
由于服務器在第一次出現無效值時退出,請更正報告的問題并重新運行以查找配置設置中的任何其他問題。
默認情況下,僅報告錯誤消息。如果用戶也對警告和信息消息感興趣,則需要提及 logerrorverbosity 選項值大于1。./runtime_output_directory/mysqld?\--log-error-verbosity=2?--validate-config?--read_only=s?--transaction_read_only=102019-03-09T11:10:01.270676Z?0?[Warning]?[MY-000076]?[Server]?option?'read_only':?boolean?value?'s'?was?not?recognized.?Set?to?OFF.2019-03-09T11:10:01.270695Z?0?[Warning]?[MY-000076]?[Server]?option?'transaction-read-only':?boolean?value?'10'?was?not?recognized.?Set?to?OFF.
如上所示,報告有關配置設置的警告,并退出服務器。因為沒有錯誤,所以為零。在下面的示例中,配置名稱無效,因此報告錯誤以及警告和服務器退出錯誤代碼 1。./runtime_output_directory/mysqld?\--log-error-verbosity=2?--validate-config?--read_only=s?--transaction_read_only=10?--foo=bar2019-03-09T11:17:32.236782Z?0?[Warning]?[MY-000076]?[Server]?option?'read_only':?boolean?value?'s'?was?not?recognized.?Set?to?OFF.2019-03-09T11:17:32.236796Z?0?[Warning]?[MY-000076]?[Server]?option?'transaction-read-only':?boolean?value?'10'?was?not?recognized.?Set?to?OFF.2019-03-09T11:17:32.242247Z?0?[ERROR]?[MY-000067]?[Server]?unknown?variable?'foo=bar'.2019-03-09T11:17:32.242327Z?0?[ERROR]?[MY-010119]?[Server]?Aborting
'validate-config' 的范圍僅限于在沒有正常啟動服務器去驗證可以執行的選項。因此,'validate-config' 不包括特定于在服務器正常啟動期間初始化的存儲引擎和插件的選項。有關 'validate-config' 的信息也可以在 MySQL 文檔中找到。我們希望這個新選項能讓 MySQL 用戶的工作更輕松,特別是在升級過程中。
總結
以上是生活随笔為你收集整理的mysql验证配置_详解MySQL|教你一招如何自动验证 MySQL 配置正确性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python生成伪随机数的扩展库_pyt
- 下一篇: mysql5.1.6安装_mysql 5