目录
启动与停止 MySQL
Windows
启动 MySQL 服务
net start mysql
停止 MySQL 服务
net stop mysql
Linux
启动 MySQL
sudo systemctl start mysql # Ubuntu
sudo systemctl start mysqld # CentOS
停止 MySQL
sudo systemctl stop mysql
重启 MySQL
sudo systemctl restart mysql
检查 MySQL 运行状态
sudo systemctl status mysql
用户与权限管理
创建用户
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
赋予权限
GRANT ALL PRIVILEGES ON mydb.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;
查看用户权限
SHOW GRANTS FOR 'user1'@'localhost';
撤销权限
REVOKE ALL PRIVILEGES ON mydb.* FROM 'user1'@'localhost';
FLUSH PRIVILEGES;
删除用户
DROP USER 'user1'@'localhost';
数据库与表管理
创建数据库
CREATE DATABASE mydb;
删除数据库
DROP DATABASE mydb;
选择数据库
USE mydb;
创建表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
修改表结构
ALTER TABLE users ADD COLUMN age INT;
ALTER TABLE users DROP COLUMN age;
删除表
DROP TABLE users;
备份与恢复
备份数据库
mysqldump -u root -p mydb > backup.sql
备份所有数据库
mysqldump -u root -p --all-databases > all_backup.sql
还原数据库
mysql -u root -p mydb < backup.sql
还原所有数据库
mysql -u root -p < all_backup.sql
日志管理
查看 MySQL 日志文件路径
SHOW VARIABLES LIKE 'log_error';
常见日志文件
- 错误日志(Error Log):存储 MySQL 运行错误信息
- 查询日志(General Query Log):记录所有查询
- 慢查询日志(Slow Query Log):记录执行时间超过
long_query_time
的查询
启用慢查询日志
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1; -- 记录执行超过 1 秒的查询
性能优化
查看索引
SHOW INDEX FROM users;
创建索引
CREATE INDEX idx_name ON users(name);
删除索引
DROP INDEX idx_name ON users;
使用 EXPLAIN 分析查询
EXPLAIN SELECT * FROM users WHERE name = 'Alice';
常见管理命令
查看 MySQL 版本
SELECT VERSION();
查看数据库列表
SHOW DATABASES;
查看当前数据库的表
SHOW TABLES;
查看表结构
DESC users;
清空表(但保留结构)
TRUNCATE TABLE users;
关闭 MySQL
sudo systemctl stop mysql
参考资料
你是否需要补充更多管理操作,或者更详细的某个管理任务?
发表回复