1.以root用户登录Mysql
mysql -uroot -proot
2.切换到mysql数据库
use mysql
3.添加用户
//只允许指定ip连接 create user '新用户名'@'localhost' identified by '密码'; //允许所有ip连接(用通配符%表示) create user '新用户名'@'%' identified by '密码';
4.为新用户授权
//基本格式如下 grant all privileges on 数据库名.表名 to '新用户名'@'指定ip' identified by '新用户密码' ; //示例 //允许访问所有数据库下的所有表 grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' ; //指定数据库下的指定表 grant all privileges on test.test to '新用户名'@'指定ip' identified by '新用户密码' ;
5.设置用户操作权限
//设置用户拥有所有权限也就是管理员 grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION; //拥有查询权限 grant select on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION; //其它操作权限说明,select查询 insert插入 delete删除 update修改 //设置用户拥有查询插入的权限 grant select,insert on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION; //取消用户查询的查询权限 REVOKE select ON what FROM '新用户名';
6.删除用户
DROP USER username@localhost;
7.修改后刷新权限
FLUSH PRIVILEGES;
创建用户可能报错
ERROR 1805 (HY000): Column count of mysql.user is wrong
解决方法:
使用mysql_upgrade升级数据库的用户表。
mysql_upgrade -uroot -proot