我設法允許遠程訪問我們的Mysql數據庫。這是我的conf文件/etc/my.conf啓用遠程MySQL訪問不再適用於localhost
貓的/etc/my.cnf
[mysqld]
local-infile=0
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
bind-address = IP_OF_SERVER
#skip-networking
的問題是,我能夠遠程連接到數據庫,但如果我能夠像的conf文件這個,與我的使用mysql不同的內部應用程序無法連接到本地主機。
我不知道如何正確解決這個問題。是否還有其他步驟需要完成?
我已經檢查過這個帖子,https://stackoverflow.com/a/13811362/5000868但是我不清楚。
這是我user
表看起來像(我沒有包括故意密碼字段)
-----------------------+----------------+-------------------------------------------+-------------
| Host | User | Password | Select_priv
+-----------------------+----------------+-------------------------------------------+-------------
| localhost | root | * | Y
| localhost.localdomain | root | * | Y
| 127.0.0.1 | root | * | Y
| localhost | | * | N
| localhost.localdomain | | * | N
| localhost | 9r9v17559f9tew | * | Y
| % | 9r9v17559f9tew | *
因此,要總結,我希望能夠用用戶名9r9v17559f9tew
既要訪問MySQL遠程& localy。
謝謝! EDIT
我添加了一個用戶9r9v17559f9tew
,主機名爲127.0.0.1
。 此外,當我試圖訪問DB localy在服務器上這樣我得到以下錯誤:
的mysql -u 9r9v17559f9tew -p
輸入密碼: ERROR 2002(HY000):無法連接到本地MySQL服務器通過套接字「/var/lib/mysql/mysql.sock」(2)
如果我嘗試localy或遠程連接這個樣子,我能夠連接:
# mysql -u 9r9v17559f9tew -p -h IP_OF_SERVER
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
http://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through-socket-var-run-mysqld-mysq特別是在答案的最後。我相信你需要確保你的mysqld爲tcp/ip和套接字連接打開! –
是的,我打開了端口。我已經通過iptables打開它, netstat -tln | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN – fugitive