当前位置: 首页 > news >正文

Mysql8.x常用命令

以下是 MySQL 8 常用命令的详细操作指南,涵盖设置 Root 密码、创建用户、创建数据库等核心操作:


一、设置 Root 密码

1. 初始安装后设置 Root 密码

如果首次安装 MySQL 8 后未设置密码,使用以下命令:

ALTER USER USER() IDENTIFIED BY 'Root_123';
  • 注意:密码需符合 MySQL 8 默认的复杂度要求(包含大小写字母、数字、特殊字符,长度≥8)
2. 修改已存在的 Root 密码

登录 MySQL 后执行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;  -- 刷新权限使修改生效
3. 忘记 Root 密码的解决方法
  1. 修改配置文件 /etc/my.cnf,添加 skip-grant-tables
  2. 重启 MySQL 服务;
  3. 无密码登录后重置密码:
    UPDATE mysql.user SET authentication_string='' WHERE User='root';
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
  4. 移除 skip-grant-tables 并重启服务

二、创建用户与授权

1. 创建用户
CREATE USER '用户名'@'主机范围' IDENTIFIED BY '密码';
  • 主机范围
    • localhost:仅允许本地登录;
    • 192.168.1.%:允许 192.168.1.0/24 网段远程登录;
    • %:允许任意远程主机登录(需谨慎使用)

示例

CREATE USER 'dev_user'@'192.168.1.%' IDENTIFIED BY 'P@ssw0rd123';
2. 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机范围';
FLUSH PRIVILEGES;  -- 刷新权限
  • 权限列表
    • ALL PRIVILEGES:所有权限;
    • SELECT, INSERT, UPDATE:指定操作权限
  • 数据库名
    • *.*:所有数据库和表;
    • mydb.*:指定数据库的所有表。

示例

GRANT SELECT, INSERT ON mydb.* TO 'dev_user'@'192.168.1.%';
3. 查看用户权限
SHOW GRANTS FOR '用户名'@'主机范围';

三、创建数据库

1. 基本创建命令
CREATE DATABASE 数据库名 
  DEFAULT CHARACTER SET utf8mb4 
  COLLATE utf8mb4_unicode_ci;
  • 字符集推荐utf8mb4 支持完整的 Unicode(如 Emoji)

示例

CREATE DATABASE mydb 
  DEFAULT CHARACTER SET utf8mb4 
  COLLATE utf8mb4_unicode_ci;
2. 选择数据库
USE mydb;  -- 切换到指定库
3. 查看所有数据库
SHOW DATABASES;

四、其他常用命令

1. 服务管理
  • 启动服务
systemctl start mysqld(Linux)或 net start mysql(Windows)
  • 设置开机自启:
systemctl enable mysqld。
2. 数据导入导出
  • 导出数据库
    mysqldump -u root -p mydb > mydb_backup.sql
  • 导入数据库
    mysql -u root -p mydb < mydb_backup.sql
3. 表操作
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(100) UNIQUE
);

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
SELECT * FROM users WHERE name LIKE 'A%';

注意事项

  1. 安全建议
    • 避免使用 % 开放远程 Root 权限
    • 定期更新密码并限制用户权限范围
  2. 密码策略
    • 查看策略:SHOW VARIABLES LIKE 'validate_password%';
    • 修改策略:调整 validate_password.policy 参数

相关文章:

  • XXE 目录
  • 从零开发Chrome广告拦截插件:开发、打包到发布全攻略
  • 企业网设计
  • 【数据库】10分钟学会MySQL的增删改查:数据库、表、表记录操作指南
  • 数字电路逻辑代数 | 运算 / 定律 / 公式 / 规则 / 例解
  • MySQL创建数据库和表,插入四大名著中的人物
  • Node.js中HTTPS模块应用详解
  • 虚拟电商-数据库分库分表
  • PROC程序报无效的字符串或缓冲区长度问题
  • Java HashMap 底层原理
  • 【YOLO】AutoDL 训练模型
  • Python+DeepSeek:开启AI编程新次元——从自动化到智能创造的实战指南
  • Java三种注释方式
  • 【漫话机器学习系列】132.概率质量函数(Probability Mass Function, PMF)
  • 体验开源openeuler openharmony stratovirt模拟器
  • Linux内核实时机制18 - RT调度器1 - 数据结构
  • hive开窗函数
  • JavaScript性能优化实战
  • 第四十五篇-Tesla P40关闭GPU的ECC释放部分显存
  • 刷leetcode hot100--动态规划3.11
  • 专访|高圆圆:像鸟儿一样,柔弱也自由
  • 上海:下调个人住房公积金贷款利率
  • 现场|万里云端,遇见上博
  • 云南一男子酒后经常殴打七旬母亲,被警方拘14日罚600元
  • 最新研究:基因编辑治疗晚期胃肠道癌显成效
  • 南方地区强降雨或致部分河流发生超警洪水,水利部部署防范