MySQL Router是MySQL的一個工具,可以自動將連接請求路由到不同的服務實例上。然而,有時甚至使用了MySQL Router,還是可能會遇到連接失敗的情況。
mysqlrouter: 2020-12-01 18:24:16: (ERROR) NR 000 Could not connect to any MySQL servers in the group 'default-replicas'. All connections failed. Errors: Access denied for user 'root'@'%'. Please check your credentials, group's metadata and server status. mysqlrouter: 2020-12-01 18:24:16: (ERROR) NR 000 Failed to route read/write connection: Hy000(1045) Access denied for user 'root'@'%'
這個錯誤表示MySQL Router無法連接到default-replicas組中的任何MySQL服務器,因為該組的元數據和服務器狀態不符。并且,在連接時遇到了訪問被拒絕的錯誤(Access denied for user 'root'@'%')。
對此,我們需要檢查MySQL Router配置文件是否正確,特別是用戶名和密碼是否正確。若該配置無誤,還需要檢查MySQL服務器是否正常運行并且運行信息是否匹配MySQL Router的元數據。
[metadata_cache:ldap] method = ldap servers = ldap.example.com:389,ldap2.example.com:389 basedn = cn=mysqlrouter,dc=example,dc=com binddn = cn=mysqlrouter,dc=example,dc=com credentials = mypassword search_attrs = (objectClass=ippMysqlRouterGroup) [default-replicas] group_replication = 1 group_replication_group_name = "82949daa-6e42-4d5f-a29a-1e9d9ac17fac" group_replication_local_address = "10.0.1.203:3306" group_replication_auto_increment_offset = 2 group_replication_auto_increment_increment = 3 servers = example-1:3306,example-2:3306
如果配置文件檢查完畢,而服務器狀態未正常,則可以在MySQL服務器上檢查錯誤日志以找出原因。如果問題仍存在,請安裝更詳細的日志記錄功能,以更好地了解連接問題。