关闭

配置MySQL远程访问权限

标签: mysql远程连接权限
181人阅读 评论(0) 收藏 举报
分类:

1. 首先要在/etc/mysql/my.cnf中将bind_address = xx.xx.xx.xx设置成需要的IP地址。设置成127.0.0.1则只允许本地连接。没有这一项设置默认接受任何IP地址的链接。

2. 在mysql内添加一个'username'@'%'的用户并赋予此用户响应的权限

> mysql -u username -p //打开控制台
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'passpass';
mysql> GRANT ALL PRIVILIGES ON *.* TO 'busername'@'%' WITH GRANT OPTION;

4. 重新启动mysqld。


可能出现的问题

1. 如果username是已经存在的用户,而你先执行了GRANT。。。的命令。mysql会自动给你添加一个'username'@'%'的用户,但是这个时候'username'@'%'是没有密码的。需要设置一下密码。

SET PASSWORD FOR 'username'@'%' = PASSWORD('yourpassword');

2. 匿名用户导致'username'无法在本地登陆。原因是mysql有可能有匿名用户''@'localhost'存在。这时使用'username'@'localhost'登陆mysql会match到''@'localhost'上导致无法操作数据库。这种情况下需要先删除''@'localhost',才能正常使用'username'@'localhost'。


另外,安全起见,还是不要grant all previliges on *.* ....这个意思是给'username'@'%'在所有数据库上做任何他想做的事的权利。可以使用下面的命令分配特定的权限

GRANT SELECT ON database.* TO 'username'@'%';


Grant的语法看这里:https://dev.mysql.com/doc/refman/5.7/en/grant.html#grant-database-privileges

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16032次
    • 积分:320
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:0篇
    • 译文:1篇
    • 评论:3条
    文章分类
    最新评论