您的位置:首页 > 数据库 > MySQL

Mysql远程连接配置

2015-06-24 10:19 701 查看

第一步: 激活网络设置

需要编辑mysql配置文件my.cnf.

通常状况,my.cnf放置于在以下目录:

/etc/mysql/my.cnf (ubuntu linux 其他的再看看)

然后用vi编辑my.cnf,修改内容从以下行:

[mysqld]

1. 确保skip-networking被删除或者屏蔽,否则不支持TCP/IP 访问

2. 增加行bind-address = ip,替代ip为你的服务器地址

修改后,配置为:

[mysqld]

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

language = /usr/share/mysql/English

bind-address = 65.55.55.2

# skip-networking

....

..

保存并关闭配置文件

重启mysql服务器:# /etc/init.d/mysql restart


第二步: 授权

方法一:
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO myuser@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;

FLUSH PRIVILEGES;

#################################

开启Mysql数据库的远程连接权限:

grant all privileges on *.* to 'root' @'%' identified by 'wrx123';

flush privileges; (这个步骤很重要)

方法二:

use mysql;

update user set host = '%'
where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)

FLUSH PRIVILEGES; (这个步骤很重要)

第三步:防火墙

通过下面的命令增开3306端口

iptables -A INPUT -p tcp -i eth0 --dport 3306-j ACCEPT

配置后,重新启动 iptable

service iptables restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: