Windows下mysql客戶端訪問Linux下mysql-cluster的SQL節點服務器
在Windows下面,如果大家都安裝了WAMP包,那麼mysql服務器也安裝了,同時mysql客戶端也安裝了,並不把客戶端和服務器分開來安裝。如果我們要通過Windows下的客戶端來訪問Linux下集群環境中的SQL節點服務器,需要注意些什麼呢?
www.2cto.com
集群環境部署:
55.133 mgm node CentOS5
55.10 data node + sql node CentOS5
55.9 data node + sql node CentOS5
Linux下的mysql配置文件為:my.cnf。在 my.cnf 中,有下面這樣段話:
All interaction with mysqld must be made via Unix sockets or named pipes. Note that using this option without enabling named pipes on Windows (via the "enable-named-pipe" option) will render mysqld useless!
這句話的意思:我們需要在客戶端的 [mysqld] 的下面加上參數:enable-named-pipe,但是加上這個參數以後是不是意味著服務器端的配置文件也需要修改:
測試方案:
1. 假設 windows 客戶端 55.134 通過 named pipes 連接 SQL 節點 55.10
修改 133 上 my.ini 文件:[mysqld] enable-named-pipe
修改 10 上 my.cnf 文件:刪除掉:[client] 模塊
2. 假設 Linux 客戶端 55.135 通過網絡連接 SQL 節點 55.9
修改 10 上 my.cnf 文件:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
1. 為了使SQL節點可以讓其它MySQL客戶端通過TCP/IP連接方式來遠程連接SQL節點,已經注釋掉:# skip-networking,使其它主機通過網絡可以訪問。
2. 也已經通過mysql授權:GRANT ALL ON *.* TO mysql IDENTIFIED BY ' *** '; 通過查看mysql.user,裡面已經顯示:
Host | User | Password
% mysql *3810D9104CD9CDC2EDD5C87D48D4D778018656C6
測試:在 55.133 上通過命令:mysql -h root@***.***.55.10 -u mysql -p 可以成功登錄 55.10 上的數據庫。
3. 根據Web服務器部署方式,已經修改過 55.10 和 55.9 上的 DNS 解析配置文件 /etc/resolv.conf 中的解析路徑和IP。