首页 > 数据库 > MySQL > MySQL 账号管理全解析:创建、删除与密码找回
CREATE USER '用户名'@'登录主机' IDENTIFIED BY '密码';
CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT 权限列表 ON 数据库.表 TO '用户名'@'登录主机';
-- 赋予app_user对商城数据库的读写权限GRANT SELECT, INSERT, UPDATE, DELETE ON mall_db.* TO 'app_user'@'192.168.1.%';-- 立即生效权限变更FLUSH PRIVILEGES;
-- 第一步:回收所有权限REVOKE ALL PRIVILEGES, GRANT OPTION FROM '用户名'@'登录主机';-- 第二步:删除账号DROP USER '用户名'@'登录主机';
-- 删除所有以temp_开头的临时账号SELECT CONCAT('DROP USER ''', user, '''@''', host, ''';')FROM mysql.userWHERE user LIKE 'temp_%' INTO OUTFILE '/tmp/delete_scripts.sql';-- 执行生成的删除脚本(需具备文件操作权限)mysql -u root -p < /tmp/sjbzb.sjbt.org.sql-- 登录后直接修改自己的密码ALTER USER USER() IDENTIFIED BY '新密码';-- 或指定修改其他用户密码(需管理员权限)ALTER USER 'user'@'host' IDENTIFIED BY '新密码';
USE mysql;UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root';FLUSH PRIVILEGES;# 1. 停止服务systemctl stop mysql# 2. 启动安全模式mysqld_safe --skip-grant-tables &# 3. 登录并修改密码(MySQL 8.0+语法)mysql -u rootALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'sjbt.org!23';
|
功能 |
MySQL 5.7 |
MySQL 8.0+ |
|
密码加密 |
mysql_native_password(默认) |
caching_sha2_password(默认) |
|
账号删除 |
支持 DROP USER IF EXISTS 语法 |
增强的权限回收机制 |
|
安全模式启动 |
mysqld --skip-grant-tables |
相同,但密码修改语法略有变化 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046748/viewspace-3088218/ ,如需转载,请注明出处,否则将追究法律责任。