今天在配置opennebula 3.8的時候,當執行one start啟動時,報不能連接數據庫的錯誤,
但是在shell下輸入mysql -uroot -p是可以登錄的,所以問題應該是mysql不允許root用戶遠程
登錄的問題,於是通過輸入下面命令:
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'password' WITH GRANT
OPTION;
重啟mysql後,發現還是連不上,於是想到是不是防火牆(ufw)或是iptables禁用了3306端口。
通過service iptables stop和ufw status,查看發現並不是防火牆或iptables的問題,而且通過
netstat可以看到3306端口處於監聽狀態。
www.2cto.com
排除了以上因素之後,又google了下,發現問題出現mysql的配置文件my.cnf中,通過如下
修改,重啟mysql後,成功遠程登錄,opennebula成功連上mysql數據庫。
sudo vim /etc/mysql/my.cnf
//找到如下內容,並注釋
bind-address = 127.0.0.1 注釋掉 bind-address = 127.0.0.1 後重啟mysql即可!如果不注
釋掉,通過netstat可以查看到,306端口只是在IP 127.0.0.1上監聽,所以拒絕了其他IP的訪問。