MySQL 常用命令
- 查询数据库每张表的大小
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| SELECT TABLE_NAME AS '表名', concat( round(DATA_LENGTH / 1024 / 1024, 2), 'MB' ) AS '数据大小', concat( round(INDEX_LENGTH / 1024 / 1024, 2), 'MB' ) AS '索引大小', TABLE_ROWS AS '数据条数', concat( round( (DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2 ), 'MB' ) AS '总大小' FROM TABLES WHERE TABLE_SCHEMA = 'AAAA' ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
|
- 转换日志文件
参考官网链接1 2
| mysqlbinlog -v --base64-output=DECODE-ROWS log_file > a.txt ./mysqlbinlog -v --base64-output=DECODE-ROWS -d efi --start-datetime="2009-04-12 12:00:00" --stop-datetime="2019-04-12 14:00:00" D:/mysql/mysql-bin.002715 > D:/mysql/20190412.txt
|
- 导入导出
1 2 3 4
| mysqldump -h主机 -P端口 -u用户名 -p密码 数据库名 > 文件名.sql
mysql -h主机 -P端口 -u用户名 -p密码 数据库名 < 文件名.sql
|
- 最大连接数
1 2 3 4
| show variables like '%max_connections%';
set global max_connections=1000;
|
- 查看编码
1
| show variables like '%char%';
|
- Docker运行MySQL
- 用户名密码是上面命令中的操作员用户名密码,不需要用root登录,默认操作员只能操作efi这个数据库
- 使用命名卷管理数据,保持宿主机清洁
1 2 3 4 5 6 7 8 9 10 11
| $ docker run --name mysql \ -d \ -p 3306:3306 \ -e MYSQL\_ROOT\_PASSWORD=rootpsw \ -e MYSQL\_USER=user \ -e MYSQL\_PASSWORD=userpsw \ -e MYSQL\_DATABASE=efi \ -v mysql:/var/lib/mysql \ mysql:5.7.18 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_unicode_ci
|