今天在調試使用ansible進行標準化安裝MySQL8.0時,發現關於caching_sha2_password plugin的一個bug。 在搭建主從複製時,按照手冊說明需要創建用戶: 然後在從庫執行: 悲催的是,發現從庫的IO_Thread提示連不上主庫。 而如果在從庫上直接使用mysql命令行 ...
今天在調試使用ansible進行標準化安裝MySQL8.0時,發現關於caching_sha2_password plugin的一個bug。
在搭建主從複製時,按照手冊說明需要創建用戶:
create user repl@'%' identified by 'repl4Password'; grant replication slave on *.* to repl@'%';
然後在從庫執行:
change master to master_host ='master_ip',master_port=3306,master_user='repl',master_password='repl4Password',master_auto_position=1; start slave;
悲催的是,發現從庫的IO_Thread提示連不上主庫。
而如果在從庫上直接使用mysql命令行用這個帳號登陸主庫是OK的,更加神奇的是在從庫上使用mysql命令行登錄過這個帳號之後,這個帳號就像被激活了一般,IO_Thread就能自動連上主庫了。
當然,如果使用5.7的mysql_native_password模式來更新一下密碼,是不需要這個“激活”過程的。
ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'repl4Password';
手冊中關於這個“激活”過程,是沒有任何說明的。今天在知數堂群里跟同學們交流了一下,也有同學出現過同樣的現象。所以在此大膽猜測這就是一個Bug。
PS:我的實驗環境是CentOS6.5,使用的MySQL版本是當前最新的8.0.15
本文地址:https://www.cnblogs.com/ajiangg/p/10473972.html