工作中经常出现使用ssh远程连接,因此,在编程的时候,为了更方便的查看数据库,需要对mysql也进行远程连接。
1.进入mysql
#mysql mysql
查询user
select host,user,password from user;
2.为对应账户赋予可以访问的权限(此处为添加一用户为其赋权,最好不要直接为localhost赋权)
#grant all privileges on *.* to 创建的用户名 @”%” identified by “密码”;
#flush privileges; #刷新刚才的内容
yl指的是用户名,192.168.1.1指的是登录ip,123456指的是密码
grant select,update,insert,delete on *.* to yl@192.168.1.1 identified by "123456";
这里仅将增删改查的权限赋予了用户,最好将所有权限赋给用户,这样避免在连接mysql后,有些表的操作没权限操作,所以推荐使用下面这个:
grant all privileges on *.* to '用户名' @'本机ip' identified by '密码' with grant option;
flush privileges;
3.写入权限
下面的%设置是指,所有的电脑ip都可以用来登录
若是host是个指定的ip地址,则表示本机ip为192.168.10.100的电脑才可以登录,若是在局域网内,要想本机能够连接服务器的数据库,则使用的ip为外网ip(可以在百度上查询到外网ip)
update user set host='%' where user='yl';
flush privileges;
或者
update user set host='192.168.10.100' where user='yl';
flush privileges;
4.修改my.conf文件
将bind-address=127.0.0.1注释掉
5.重启数据库
service mysqld restart
6.关闭防火墙(或则是开启3306的端口)
使用setup进入
进入防火墙
将防火墙禁用
按空格,将原本的*号,变为无,禁用掉防火墙
Linux上的配置结束
使用Navicat for Mysql 连接: