我Ubuntu
在Microsoft Azure
.我創建了一個入站規則以允許port 3306
我跑了updates and upgrades
我做到了sudo apt install mysql-server
我檢查以確保它正在運行:
sudo service mysql status
現在我嘗試透過連接到它,但當我單擊按鈕MySQL Workbench
時無法連接到它test connection
我還缺什麼?
答案1
要將 MySQL 暴露給 localhost 以外的任何東西,您必須使用以下行
適用於 mysql 5.6 及以下版本
在 /etc/mysql/my.cnf 中取消註釋並分配給您的電腦 IP 位址而不是環回
適用於 mysql 5.7 及以上版本
在 /etc/mysql/mysql.conf.d/mysqld.cnf 中取消註解並分配給您的電腦 IP 位址而不是環回
將 xxx 替換為您的 IP 位址
bind-address = xxx.xxx.xxx.xxx
bind-address = 0.0.0.0
或者如果您不想指定 IP,請新增一個 。
然後停止並使用新的 my.cnf 條目重新啟動 MySQL。運行後,轉到終端機並輸入以下命令。
lsof -i -P | grep :3306
應該會傳回類似這樣的內容,其中 xxx 包含您的實際 IP
mysqld 1046 mysql 10u IPv4 5203 0t0 TCP xxx.xxx.xxx.xxx:3306 (LISTEN)
如果上述語句正確傳回,您將能夠接受遠端使用者。但是,要使遠端用戶以正確的權限進行連接,您需要在本機主機和「%」中建立該用戶,如下所示。
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
then,
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
最後,
FLUSH PRIVILEGES;
EXIT;
然後你就可以連接到你的mysql了。
希望對你有幫助。