详解MySQL开启远程连接权限
1、登陆mysql数据库
mysql -u root -p
查看user表
mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+———————+———+—————————————————————-+
| host | user | password |
+———————+———+—————————————————————-+
| localhost | root | A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | A731AEBFB621E354CD41BAF207D884A609E81F5E |
+———————+———+—————————————————————-+
2 rows in set (0.00 sec)
可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
(1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。
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 “password”;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,password from user;
+———————+———+—————————————————————-+
| host | user | password |
+———————+———+—————————————————————-+
| localhost | root | A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | A731AEBFB621E354CD41BAF207D884A609E81F5E |
| % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+———————+———+—————————————————————-+
3 rows in set (0.00 sec)
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
3、实现远程连接(改表法)
use mysql;
update user set host = ‘%’ where user = ‘root’;
这样在远端就可以通过root用户访问Mysql.
4、如果上面的方法不生效
可能就是对应的服务器限制的3306端口的访问导致的,下面以腾讯云为案例:
更多相关文章
- Sql查询MySql数据库中的表名和描述表中字段(列)信息
- Mysql 根据一个表数据更新另一个表的某些字段(sql语句)
- MySQL中因字段字符集不同导致索引不能命中的解决方法
- Mysql数据库实现多字段过滤的方法
- MySQL Union合并查询数据及表别名、字段别名用法分析
- Android多渠道打包,Android签名包,Android多渠道打签名包(Android(
- MySQL根据某一个或者多个字段查找重复数据的sql语句
- 如何使用MySQL一个表中的字段更新另一个表中字段
- 打造android ORM框架opendroid(二)——自动创建数据库