mysql 登录
mysql -u root -p
创建新用户
CREATE USER 'test_user'@'%' IDENTIFIED BY 'mysqlTest123,';
查看密码设置规则
SHOW VARIABLES LIKE 'validate_password%';
修改密码设置验证等级
set global validate_password_policy=LOW;
当前密码长度为 8 ,可以设置为4位的密码:
set global validate_password_length=4;
GRANT ALL PRIVILEGES ON <database_name>.* TO '<username>'@'localhost';
给tset表 所有权限赋给test用户
grant all privileges on `test`.* to 'test'@'%';
所有表、权限赋给admin用户
grant all privileges on *.* to 'admin'@'%'
创建账号时并赋予全部权限:
grant all privileges on *.* to '用户名'@'登录IP或者域名' identified by '登录密码' with grant option;
all privileges: 表示授权用户全部权限,当然你也可以指定赋予具体权限,比如SELECT、UPDATE、CREATE、DROP等。
on:表示这些权限可以作用于哪些数据库和哪些表,*.*表示作用于所有数据库和所有表,格式为 数据库名.表名。比如有一个test库,想让admin拥有查看test库所有表的权限,那么可以这样写:grant SELECT on test.* to 'admin'@'%' identified by '登录密码';
to:将权限授予哪个用户。格式:'用户名'@'登录IP或域名'。
IDENTIFIED by:指定用户的登录密码。
with grant option:表示允许用户将自己的权限授权给其它用户。
DROP USER 'admin'@'%' -- 删除admin用户,用户名(User)和主机名(Host)构成
FLUSH PRIVILEGES; -- 刷新权限
查看数据库中所有用户信息
SELECT user,host FROM mysql.`user`;
SHOW GRANTS FOR 'admin'@'%'
重启服务
service mysqld restart
部分借鉴 感谢https://blog.csdn.net/qq_43600166/article/details/129654829