首页 » 资源分享 » MySQL » 正文

linux中给mysql创建用户并授予远程访问权限



在搭建好服务器和mysql数据库后,有时会发现使用Navicate等远程连接工具连接不是数据库,本篇以创建一个可远程连接的新用户为例介绍一下解决的方法,当然设置root可远程也是一样的操作(忽略2、3步)。

1、登陆mysql
# mysql -uroot -p
Enter password: *****
mysql>

2、创建mysql用户
创建一个用户名和密码分别为”root_remote”和”123321″的用户
mysql> CREATE USER ‘root_remote’@’localhost’ IDENTIFIED BY ‘123321’;

3、验证帐号是否创建成功
一旦用户被创建后,包括加密的密码、权限和资源限制在内的所有帐号细节都会被存储在mysql的user表中,运行下列命令,验证帐号是否创建成功。
mysql> use mysql;
mysql> SELECT host, user, password FROM user WHERE user=’root_remote’;

4、设置该用户运行远程访问mysql
执行下面语句:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root_remote’@’%’ IDENTIFIED BY ‘123321’ WITH GRANT OPTION;
mysql> flush privileges;
第一句中”%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
mysql> GRANT ALL PRIVILEGES ON . TO root_remote@”119.168.33.11” IDENTIFIED BY “123321”;
123321是登录密码。
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。