我以前在Ubuntu上有一個MySQL服務器實例,但出於安全原因,我決定使用兩個實例,因爲測試和prod應用程序將爲Web用戶開放。因此我配置了兩個MySQL服務器實例並運行mysqld_multi start
來設置數據庫。我/etc/mysql/my.cnf:如何更改MySQL實例root用戶密碼?
[mysqld0]
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
user=mysql
pid-file=/var/run/mysqld/mysqld0.pid
socket=/var/run/mysqld/mysqld0.sock
port=3306
datadir=/home/prod/data
log_error=/var/log/mysql/error0.log
[mysqld1]
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
user=mysql
pid-file=/var/run/mysqld/mysqld1.pid
socket=/var/run/mysqld/mysqld1.sock
port=3307
datadir=/home/test/data
log_error=/var/log/mysql/error1.log
使用mysqld_multi start 0,1
我開始兩個實例,但不能用root用戶訪問它們 - 歌廳拒絕訪問根在本地主機上。
我試圖按照這些說明(提供額外的--socket參數)https://support.rackspace.com/how-to/mysql-resetting-a-lost-mysql-root-password/,因爲他們以前幫助我,但沒用。
當以安全模式連接到MySQL時,我還會看到以前在原始實例中設置的用戶。
也許我理解多個MySQL服務器實例以及它們應該如何以錯誤的方式工作?所有實例是否共享相同的用戶?我如何訪問新創建的實例?
這是怎麼不同於'更新用戶設置authentication_string =密碼(「mynewpassword」)其中用戶='根';'?成功運行此更新後,我無處可去:/ – user435421
我試圖運行這些查詢,並且懷疑我收到了由於--skip-grant-tables而無法執行的消息。 – user435421