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
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐