Linux上安装的mysql。默认情况下只有一个账户 : root . 此账户只能进行本地连接 , 对外拒绝连接 .
我们需要建立一个允许远程登录的数据库账户 , 这样才可以方便的进行远程操作数据 .
默认情况下 , Linux内的mysql数据库mysql, user表内的用户权限只是对localhost即本机才能登录 .
1 . linux终端实现本地登录mysql .
进入mysql终端 , 输入下面命令进行登录 .
mysql -u root -p
命令输入后,回车, 会提示 Enter password . 输入密码即可登录 .
2 . 查看当前用户的权限情况 (非必须操作项)
show databases ; 查看当前mysql中所有的数据库.
use mysql ; 使用,进入mysql数据库.
select host , user , password from user ; 查看当前user用户信息 .
3 . 添加远程账户
使用以下命令添加远程账户 .
grant all privileges on *.* to 创建的用户名 @"%" identified by "用户密码";
通过命令,刷新刚才的内容. 使命令有效.
flush privileges;
重新查看user表,可发现添加的账户已经进入user表中. 并且 host 为 % (远程访问标志) ,
localhost : 本机访问
% : 所有机器可以访问
也可以指定固定ip访问 .
4 . 关闭防火墙 . (看具体情况)
有时我们创建了远程账户却不能远程访问进去. 这个时候 , 可以通过 windows 自带的 telnet 命令 确认下 端口是否打开 .
telnet ip 3306
如果3306端口telnet不通 .
这个时候就可以判断为linux服务器3306端口没有打开 .
关闭Linux防火墙 .
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
除了直接关闭防火墙 . 也可以考虑只开放 3306 端口号 . 这里不再做解释 .