怎么开放mysql权限,mysql设置权限

如何给远程主机开启mysql远程登录权限

基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:

站在用户的角度思考问题,与客户深入沟通,找到平安网站设计与平安网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名与空间、虚拟主机、企业邮箱。业务覆盖平安地区。

1、登录到MySQL中,为root进行远程访问的授权,执行下面的命令:

mysql GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";

mysql flush privileges;

第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:

GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";

第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:

[ruby] view plain copy print?

bind-address = 127.0.0.1

将其注释掉,保存。

3、重新启动MySQL服务器。执行下面的几条命令即可:

# /usr/bin/mysqladmin -u root -p shutdown

# /usr/bin/mysqld_safe

如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:

# whereis mysqladmin

mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz

执行完上面的三步后,就可以通过远程机器连接了数据库了。

如何设置mysql用户的权限

1、创建新用户

通过root用户登录之后创建

grant all privileges on *.* to testuser@localhost identified by "123456" ;//创建新用户,用户名为testuser,密码为123456 ;

grant all privileges on *.* to testuser@localhost identified by "123456" ;//设置用户testuser,可以在本地访问mysql

grant all privileges on *.* to testuser@"%" identified by "123456" ; //设置用户testuser,可以在远程访问mysql

flush privileges ;//mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效

2、设置用户访问数据库权限

grant all privileges on test_db.* to testuser@localhost identified by "123456" ;//设置用户testuser,只能访问数据库test_db,其他数据库均不能访问 ;

grant all privileges on *.* to testuser@localhost identified by "123456" ;//设置用户testuser,可以访问mysql上的所有数据库 ;

grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ;//设置用户testuser,只能访问数据库test_db的表user_infor,数据库中的其他表均不能访问 ;

3、设置用户操作权限

grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//设置用户testuser,拥有所有的操作权限,也就是管理员 ;

grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//设置用户testuser,只拥有【查询】操作权限 ;

grant select,insert on *.* to testuser@localhost identified by "123456" ;//设置用户testuser,只拥有【查询\插入】操作权限 ;

grant select,insert,update,delete on *.* to testuser@localhost identified by "123456" ;//设置用户testuser,只拥有【查询\插入】操作权限 ;

REVOKE select,insert ON what FROM testuser//取消用户testuser的【查询\插入】操作权限 ;

怎么给mysql开启远程访问权限

1、改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysqluse mysql;

mysqlupdate user set host = '%' where user = 'root';

mysqlselect host, user from user;

2、授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI

TH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY

'mypassword' WITH GRANT OPTION;

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysqlFLUSH RIVILEGES

使修改生效,就可以了

另外一种方法:

在安装mysql的机器上运行:

1、d:\mysql\bin\mysql -h localhost -u root

//这样应该可以进入MySQL服务器

2、mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION

//赋予任何主机访问数据的权限

3、mysqlFLUSH PRIVILEGES

//修改生效

4、mysqlEXIT

//退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦。


网站标题:怎么开放mysql权限,mysql设置权限
转载源于:http://cdiso.cn/article/dsepcjh.html

其他资讯