Mariadb
Mariadb複製slave只能訪問information_schema db
我的主從設置工作正常,直到從屬設備斷電。現在我明白了
連接到 master ‘repl@10.0.0.1:50000’ 時出錯 - 重試時間:60
最大重試次數:86400
消息:使用者 ‘repl’@’localhost’ 的訪問被拒絕(使用密碼:是)
密碼沒有更改,我可以使用登錄到數據庫
slave-host$ mysql -h10.0.0.1 -P50000 --user=repl --password='secret'
但是,一旦登錄,我就看不到任何數據庫,除了
information_schema
. 嘗試use <my_db_name>
給出拒絕訪問錯誤。在主上
master-host: mysql> show grants for repl@localhost; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'localhost' IDENTIFIED BY PASSWORD '*xxxxx'
我嘗試以各種組合重新授予訪問權限,
FLUSH PRIVILEGES
但START/STOP SLAVE;
我沒有得到任何結果。NB。位於 10.0.0.1 的主機有一個到數據庫主機的 SSH 隧道設置,因此授予 for
repl@localhost
是適當的,因為 master 將其視為本地流量。主從都在:10.1.26-MariaDB-0+deb9u1
奇怪的。
修復似乎是更改密碼。
- 停止奴隸
- 更改
repl
主使用者的密碼。- 在奴隸上:
change master to master_password = 'new pass'
- 啟動奴隸
Mariadb 10.5 似乎將密碼儲存在另一個表 mysql.global_priv 以及 mysql.user 中。我在 global_priv 中沒有導致登錄問題的使用者。再次設置密碼解決了這個問題。似乎 global_priv 沒有從 master 複製,它包含數據庫轉換為副本之前的舊值。
我剛剛檢查了舊的 MariaDB 10.3,global_priv 不存在。