标签:
mysql在开发阶段要用本机去连接远程服务器上的mysql服务。但会被阻止。我们只需要去mysql所在的服务器本地打开mysql,找到user表里面有个用户,修改host为%,即可。操作完成提交后重启mysql服务器就可以生效。然后在本地就可以访问远程服务了。
但如果是正式上线的mysql服务还需要新建一个用户,然后设置她的权限,这样相对保证安全性、
1,创建用户法(项目上线的时候使用)
SQLyog客户端,用root用户远程链接MySQL时,提示“访问被拒绝”,在网上搜索了一下原因。
原来是MySQL没有授权其远程链接,所以你只能在客户端里面链接。
怎么解决呢?
原表数据
mysql> use mysql
mysql> select Host,User,Password from user ;
+---------------+---------+-------------------------------------------+
| Host | User | Password |
+---------------+---------+-------------------------------------------+
| localhost | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
| www | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
| 127.0.0.1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
| ::1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
创建一个新用户
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
grant select,update,insert,delete on *.* to komiles@123.4.56.89 identified by "komiles1234";
执行完上面语句后,再执行
mysql> select Host,User,Password from user ;
+---------------+---------+-------------------------------------------+
| Host | User | Password |
+---------------+---------+-------------------------------------------+
| localhost | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
| www | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
| 127.0.0.1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
| ::1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
| 123.4.56.89 | komiles | *50663F1ECEAB844897BC272EC1AE7E83F442F649 |
+---------------+---------+-------------------------------------------+
此时,就可以用你刚才创建的用户进行远程访问了。
以下是转载http://www.cnblogs.com/smallstone/archive/2010/04/29/1723838.html
示例:
登入:
测试连接:
2、实现远程连接(授权法-一般在开发时候使用)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;
将权限改为ALL PRIVILEGES
mysql> use mysql;
Database changed
mysql> grant all privileges on *.* to root@‘%‘ identified by "root";
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
3、实现远程连接(改表法)
use mysql;
update user set host = ‘%‘ where user = ‘root‘;
这样在远端就可以通过root用户访问Mysql.
SQLyog客户端无法连接MySQL服务器案例分析 http://www.linuxidc.com/Linux/2014-09/106884.htm
CentOS 6.3 安装MySQL与SQLyog连接 http://www.linuxidc.com/Linux/2012-11/74401.htm
Ubuntu 14.04下安装MySQL http://www.linuxidc.com/Linux/2014-05/102366.htm
《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htm
Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/106892.htm
标签:
原文地址:http://www.cnblogs.com/strive-study/p/4772887.html