MySQL创建数据库、用户命令(备忘录)

root身份登入

切换到/bin目录,打开cmd

mysql -u root -p

-- 新增一个可以从任意IP连接的root用户
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY 'root密码';
-- 刷新权限:
FLUSH PRIVILEGES;

-- 或者不新增,而是直接更新root为%(推荐这种方式)
-- 因为root@%和root@localhost是两个用户,可以拥有不一样的密码、权限。
-- 当%和localhost同时存在,那么localhost、127.0.0.1走@localhost,其他IP走@%
-- 当只有%存在,那么localhost、127.0.0.1、其他IP都走@%
update user set host='%' where user ='root';


-- 允许root用户将自己拥有的权限授予其它用户:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
-- 刷新权限:
FLUSH PRIVILEGES;

创建数据库和用户

-- 创建数据库
CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 创建用户
CREATE USER '用户账号'@'%' IDENTIFIED BY '用户密码';
-- CREATE USER '用户账号'@'localhost' IDENTIFIED BY '用户密码';

-- 授予权限
GRANT ALL PRIVILEGES ON 数据库名.* TO '用户账号'@'%';
-- GRANT ALL PRIVILEGES ON 数据库名.* TO '用户账号'@'localhost';

-- 授予对系统数据库的查询权限
GRANT SELECT ON mysql.* TO '用户账号'@'%';
-- GRANT SELECT ON mysql.* TO '用户账号'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

删除数据库和用户

-- 删除数据库
DROP DATABASE IF EXISTS 数据库名;

-- 删除用户
DROP USER IF EXISTS '用户账号'@'%';
-- DROP USER IF EXISTS '用户账号'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

修改密码

ALTER USER '用户账号'@'%' IDENTIFIED BY '新密码';
-- ALTER USER '用户账号'@'localhost' IDENTIFIED BY '新密码';
posted @ 2025-11-10 14:07  DaenMax  阅读(20)  评论(0)    收藏  举报