MySQL的权限管理
1、授予权限
授权命令: grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';
该权限如果发现没有该用户,则会直接新建一个用户。
java
比如
grant select,insert,delete,drop on atguigudb.* to li4@localhost ;
#给li4用户用本地命令行方式下,授予atguigudb这个库下的所有表的插删改查的权限。
java
grant all privileges on *.* to joe@'%' identified by '123';
#授予通过网络方式登录的的joe用户 ,对所有库所有表的全部权限,密码设为123。
2、收回权限
1)查看当前用户权限
java
show grants;
2)收回权限命令:
java
revoke 权限1,权限2,...权限n on 数据库名称.表名称 from用户名@用户地址 ;
java
REVOKE ALL PRIVILEGES ON mysql.* FROM joe@localhost;
#收回全库全表的所有权限。
java
REVOKE select,insert,update,delete ON mysql.* FROM joe@localhost;
#收回mysql库下的所有表的插删改查权限。
必须用户重新登录后才能生效。
3、查看权限
1)查看当前用户权限
java
show grants;
2)查看某用户的全局权限
java
select * from user ;
3)查看某用户的某个表的权限
java
select * from tables_priv;
4、远程访问
(1)先 ping 一下数据库服务器的ip 地址确认网络畅通。
(2)关闭数据库服务的防火墙
java
service iptables stop
(3) 确认Mysql中已经有可以通过远程登录的账户
select * from mysql.user where user='li4' and host='%';
(4)如果没有用户,先执行如下命令:
java
grant all privileges on *.* to li4@'%' identified by '123123';
(5)测试连接: