
无论是数据库管理员还是开发人员,熟练掌握MySQL操作命令是高效管理和操作数据库的基础
本文将全面介绍MySQL的核心操作命令,从安装配置到日常运维,再到高级功能应用,帮助您从入门到精通
一、MySQL安装与配置 1. 安装MySQL -Linux:通过包管理器安装,如apt(Debian/Ubuntu)或`yum`(CentOS/RHEL)
bash sudo apt-get update sudo apt-get install mysql-server -Windows:从MySQL官网下载MSI安装程序,按照向导完成安装
-macOS:使用Homebrew安装
bash brew install mysql 2. 配置MySQL - 修改配置文件(通常是`/etc/mysql/my.cnf`或`/etc/my.cnf`),调整如端口号、数据目录、字符集等设置
-初始化数据库(首次安装时): bash sudo mysqld --initialize - 启动MySQL服务: bash sudo systemctl start mysql Linux net start mysql Windows - 设置root密码(首次运行时): bash sudo mysql_secure_installation 二、数据库与表管理 1. 创建数据库 sql CREATE DATABASE dbname; 2. 删除数据库 sql DROP DATABASE dbname; 3. 使用数据库 sql USE dbname; 4. 创建表 sql CREATE TABLE tablename( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 5. 删除表 sql DROP TABLE tablename; 6. 修改表结构 - 添加列: sql ALTER TABLE tablename ADD COLUMN new_column VARCHAR(50); - 删除列: sql ALTER TABLE tablename DROP COLUMN old_column; - 修改列类型: sql ALTER TABLE tablename MODIFY COLUMN column_name NEW_DATA_TYPE; - 重命名表: sql RENAME TABLE old_tablename TO new_tablename; 三、数据操作 1. 插入数据 sql INSERT INTO tablename(name, age) VALUES(Alice,30),(Bob,25); 2. 查询数据 - 基本查询: sql SELECTFROM tablename; - 条件查询: sql SELECT - FROM tablename WHERE age >25; -排序: sql SELECT - FROM tablename ORDER BY age DESC; - 分页: sql SELECT - FROM tablename LIMIT 10 OFFSET20; 3. 更新数据 sql UPDATE tablename SET age =31 WHERE name = Alice; 4. 删除数据 sql DELETE FROM tablename WHERE age <20; 四、索引与查询优化 1. 创建索引 - 主键索引自动创建: sql CREATE TABLE users( id INT PRIMARY KEY, name VARCHAR(100) ); -唯一索引: sql CREATE UNIQUE INDEX idx_unique_name ON users(name); - 普通索引: sql CREATE INDEX idx_age ON users(age); 2. 删除索引 sql DROP INDEX idx_age ON users; 3. 分析查询性能 - 使用`EXPLAIN`分析查询计划: sql EXPLAIN SELECT - FROM tablename WHERE age >25; - 查看慢查询日志,调整索引或优化SQL语句
五、用户与权限管理 1. 创建用户 sql CREATE USER username@host IDENTIFIED BY password; 2. 授予权限 -授予所有权限: sql GRANT ALL PRIVILEGES ON dbname. TO username@host; -授予特定权限: sql GRANT SELECT, INSERT ON dbname. TO username@host; 3. 撤销权限 sql REVOKE SELECT, INSERT ON dbname. FROM username@host; 4. 删除用户 sql DROP USER username@host; 5. 刷新权限 sql FLUSH PRIVILEGES; 六、备份与恢复 1. 使用mysqldump备份 -备份整个数据库: bash mysqldump -u root -p dbname > dbname_backup.sql -备份特定表: bash mysqldump -u root -p dbname tablename > tablename_backup.sql 2. 恢复数据 bash mysql -u root -p dbname < dbname_backup.sql 七、高级功能与应用 1. 存储过程与函数 - 创建存储过程: sql DELIMITER // CREATE PROCEDURE GetUserById(IN user_id INT) BEGIN SELECT - FROM users WHERE id = user_id; END // DELIMITER ; -调用存储过程: sql CALL GetUserById(1); 2. 触发器 - 创建触发器,在插入新记录后自动更新另一表: sql DELIMITER // CREATE TRIGGER after_user_insert AFTER INSERT ON users FOR EACH ROW BEGIN UPDATE user_audit SET audit_time = NOW() WHERE user_id = NEW.id; END // DELIMITER ; 3. 事件调度器 - 创建定时事件,每天凌晨清理旧数据: sql CREATE EVENT clean_old_data ON SCHEDULE EVERY1 DAY STARTS 2023-01-0100:00:00 DO DELETE FROM logs WHERE log_time < NOW() - INTERVAL30 DAY; 4. 复制与集群 - 配置主从复制,实现数据同步: - 在主服务器上启用二进制日志: sql 【mysqld】 log-bin=mysql-bin server-id=1 - 在从服务器上配置: sql 【mysqld】 server-id=2 relay-log=relay-bin - 从服务器连接主服务器并开始复制: sql CHANGE MASTER TO MASTER_HOST=master_host, MASTER_USER=re
MySQL崩溃?快速恢复指南
MySQL操作命令全集大揭秘
MySQL安装:设置用户名密码指南
CentOS7系统下轻松启动MySQL数据库指南
MySQL IO高?高效解决方案揭秘
MySQL绿色版x64高速下载指南
如何修改MySQL数据库端口号
MySQL崩溃?快速恢复指南
CentOS7系统下轻松启动MySQL数据库指南
MySQL IO高?高效解决方案揭秘
MySQL安装:设置用户名密码指南
MySQL绿色版x64高速下载指南
如何修改MySQL数据库端口号
MySQL弱口令探测:安全漏洞大揭秘
MySQL关联表查询最新数据技巧
MySQL数据库字符集改GBK指南
揭秘MySQL读未提交隔离级别原理
MySQL5.0套件:数据库管理新体验
如何快速修改本地MySQL编码格式