最近做項目,遇到這樣問題,docker 中的mysql 不能啟動,經過上網查資料,終于解決了這個問題,這里記錄下,也許還能幫助到大家,
在docker中有一個mysql服務,其數據文件是掛在在主機外面的文件,在docker中的root有訪問該數據文件的權限,但是docker中mysql訪問數據文件的時候提示權限不足,于是只有以root用戶來啟動mysql了。
數據初始化:
mysql_install_db --user=root --explicit_defaults_for_timestamp=1
初始化后以root用戶啟動
mysqld --user=root --explicit_defaults_for_timestamp=1
mysql啟動正常。
啟動方式主要有以下三種:
1、使用systemctl 啟動 systemctl start mysqld
2、使用腳本啟動 /etc/inint.d/mysqld start
3、使用safe_mysqld或mysqld --user=mysql啟動
關閉方式也有以下三種:
1、使用systemctl 關閉 systemctl stop mysqld
2、使用腳本關閉 /etc/inint.d/mysqld stop
3、mysqladmin shutdown
注意:使用safe_mysqld或mysqld --user=mysql啟動的服務,只能通過mysqladmin shutdown關閉,不能通過systemctl 或腳本關閉。
mysqladmin shutdown可關閉以上三種服務。腳本可關閉systemctl開啟的服務,同樣systemctl也可關閉腳本開啟的服
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選