我设法允许远程访问我们的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