Welcome To Heike07's Blog.

欢迎来到Heike07官方博客

MYSQL57添加账户,远程,赋权那点事

这个教程仅限 MySQL5.7 其他自行研究

情景描述:

1.公司内部数据库管理人员  误删除数据

2.运行网站不需要root账户只需要查询更新数据库操作


新建用户

#登陆root管理员用户

mysql -u root -p

#root管理员赋权  【全部权限,全部IP,远程】

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

#创建test 账户

CREATE USER 'test'@'%' IDENTIFIED BY '密码';

#只赋权给test用户 查询及更新权限
GRANT SELECT,UPDATE ON *.* TO 'test'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

#只赋权给test用户 一些权限【select,delete,update,create,远程,全部IP】

GRANT SELECT,UPDATE,DELETE,UPDATE,CREATE ON *.* TO 'test'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

#只可以操作数据库DB123【test用户 一些权限select,delete,update,create,远程,全部IP 】

GRANT SELECT,UPDATE,DELETE,UPDATE,CREATE ON DB123.* TO 'test'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

#只可以本地操作数据库localhost 全部权限

GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY '密码' WITH GRANT OPTION;

#更新权限
flush privileges;

整理一下 用中文来表达意思

GRANT 【赋予的权限】 ON 【数据库名称】.【表名称】 TO '【用户名称】'@'【本地/远程】' IDENTIFIED BY '【用户密码】' WITH GRANT OPTION;

就说到这,剩下举一反三

参考官方权限表格

《MYSQL57添加账户,远程,赋权那点事》

#修改密码【修改密码后记得重新授权】

#方法1:更新user表字段

use mysql;

update user authentication_string=password('密码') where user='用户名';

#方法2:直接更新字段

set password for '用户名'@'登陆地址' = password('密码');
-> 失败的话尝试:
alter user 'root'@'localhost' identified by '123';

#方法3:通过mysqladmin

mysqladmin -u用户名 -p密码 password 要修改的密码

OK就到这了,结束!@heike07整理

点赞