MySQL 命令行工具 大全及教程
·
mysql - 主要客户端工具
# 基本连接
mysql -u username -p
mysql -h hostname -u username -p
mysql -h hostname -u username -p -P 3306
# 带数据库连接
mysql -u username -p database_name
# 常用参数
mysql -u root -p --prompt="(\u@\h)[\d]> " # 自定义提示符
mysql -u root -p --show-warnings # 显示警告
mysql -u root -p --auto-rehash # 自动补全
mysqldump - 备份工具
# 备份单个数据库
mysqldump -u username -p database_name > backup.sql
# 备份所有数据库
mysqldump -u username -p --all-databases > all_backup.sql
# 备份指定表
mysqldump -u username -p database_name table1 table2 > tables_backup.sql
# 常用参数
mysqldump -u root -p --routines --triggers --events database_name # 包含存储过程、触发器、事件
mysqldump -u root -p --single-transaction database_name # 事务方式备份(InnoDB)
mysqldump -u root -p --compress database_name # 压缩输出
mysqladmin - 管理工具
# 检查服务器状态
mysqladmin -u root -p status
mysqladmin -u root -p ping
# 关闭/重启MySQL
mysqladmin -u root -p shutdown
mysqladmin -u root -p restart
# 创建/删除数据库
mysqladmin -u root -p create new_database
mysqladmin -u root -p drop database_name
# 查看变量和状态
mysqladmin -u root -p variables
mysqladmin -u root -p extended-status
mysqld - MySQL服务器
# 启动服务器
mysqld --console # 控制台模式
mysqld --defaults-file=/path/to/my.cnf
# 初始化数据目录(MySQL 5.7+)
mysqld --initialize --user=mysql
mysqld --initialize-insecure --user=mysql
# 安全安装(MySQL 8.0+)
mysqld --initialize --lower-case-table-names=1
mysqlimport - 数据导入工具
# 导入CSV文件
mysqlimport -u username -p --fields-terminated-by=',' \
--fields-optionally-enclosed-by='"' \
database_name data.csv
# 导入多个文件
mysqlimport -u root -p database_name file1.txt file2.txt
# 常用参数
mysqlimport -u root -p --ignore-lines=1 database_name file.csv # 忽略标题行
mysqlimport -u root -p --replace database_name file.csv # 替换重复记录
mysqlimport -u root -p --local database_name file.csv # 从客户端读取文件
mysqlpump - 并行备份工具(MySQL 5.7+)
# 并行备份
mysqlpump -u root -p --parallel-schemas=4 database_name
# 备份排除某些表
mysqlpump -u root -p --exclude-tables=temp_%,log_% database_name
# 压缩备份
mysqlpump -u root -p --compress-output=ZLIB > backup.zlib
mysqlslap - 负载模拟工具
# 基本压力测试
mysqlslap -u root -p --concurrency=50 --iterations=100 \
--query="SELECT * FROM users"
# 使用SQL文件测试
mysqlslap -u root -p --concurrency=100 --iterations=10 \
--create-schema=testdb --query=query.sql
# 自动生成测试
mysqlslap -u root -p --auto-generate-sql \
--concurrency=100 --number-of-queries=1000
mysqlcheck - 表维护工具
# 检查表
mysqlcheck -u root -p database_name
mysqlcheck -u root -p --check database_name table_name
# 修复表
mysqlcheck -u root -p --repair database_name
# 优化表
mysqlcheck -u root -p --optimize database_name
# 分析表
mysqlcheck -u root -p --analyze database_name
mysqlbinlog - 二进制日志工具
# 查看binlog内容
mysqlbinlog /var/lib/mysql/binlog.000001
# 转换为SQL语句
mysqlbinlog /var/lib/mysql/binlog.000001 --base64-output=DECODE-ROWS -v
# 按时间过滤
mysqlbinlog --start-datetime="2024-01-01 00:00:00" \
--stop-datetime="2024-01-02 00:00:00" \
/var/lib/mysql/binlog.000001
# 恢复数据
mysqlbinlog /var/lib/mysql/binlog.000001 | mysql -u root -p更多推荐




所有评论(0)