1.创建用户
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'user_password';
“localhost"只允许本地连接,而”%"允许所有IP地址都可以连接到服务器。
2.赋权
GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'localhost';
FLUSH PRIVILEGES;
3.给一个用户 order_user orderPlatform数据库所有权限
GRANT ALL PRIVILEGES ON orderPlatform.* TO 'order_user'@'%';
FLUSH PRIVILEGES;
4 .给一个用户(order_user)orderPlatform 库的 test表的所有权限
GRANT SELECT, INSERT, UPDATE,DROP,DELETE,CREATE,ALTER ON orderPlatform.test TO 'order_user'@'%';
FLUSH PRIVILEGES;
5 会遇到 2059 错误,修改密码即可
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
6.删除用户
DROP USER 'username'@'localhost';
FLUSH PRIVILEGES;
7.授予myuser
用户对mydatabase
数据库的所有表进行查询、插入、更新和删除的权限
GRANT SELECT, INSERT, UPDATE, DELETE ON mydatabase.* TO 'myuser'@'localhost';
8 操作的时候提示错误消息,不影响操作, test
的用户,我想授予他 process
权限。
grant process on *.* to test;
FLUSH PRIVILEGES;
我通过运行显示对用户 test 的所有授权:
show grants for test@'%';
MySQL常见的权限:
ALL PRIVILEGES:拥有所有权限
ALTER:修改已经存在的表结构,但不能修改表名称和删除表
CREATE:创建新的数据库和表
DELETE:删除表中的数据
DROP:删除已经存在的数据库和表
INSERT:插入新数据到表中
SELECT:从表中选取数据
UPDATE:更新表中的数据