mysql工具安装 dump工具介绍 PT工具介绍 查看数据库占用空间 binlog详解

2015-07-02 20:58:00
admin
原创 2358
摘要:mysql工具安装 dump工具介绍 PT工具介绍 查看数据库占用空间 binlog详解

一、mysql工具安装

服务端工具:

1、mariadb是mysql的一个开源分支;

2、centos6安装:yum install mysql-server

3、centos7安装:yum install mariadb-server

4、mysql一个库是一个schema,pgsql一个库包含多个schema;

5、pg_catalog存放系统表,pg_toast存放大型字段,public存放用户表;

6、mysql是OLTP(Online Transaction Processing)数据库,适合联机事务处理;

7、doris是OLAP(Online Analytical Processing)数据库,适合联机分析处理;


服务端启停:

1、systemctl enable mariadb,开机启动

2、systemctl start mariadb,启动服务
3、systemctl stop mariadb,停止服务

4、net start mariadb,windows启动服务

5、net stop mariadb,windows停止服务


客户端工具:

1、HeidiSQL是一个轻量级的可视化客户端工具,目前只有windows版本;

2、DBeaver是一个跨平台的可视化客户端工具,并且支持oracle数据库;


二、mysql帮助手册

在线版mysql5.5帮助手册地址:http://www.3scard.com/data/download/mysql55

离线版mysql5.5帮助手册地址http://www.3scard.com/data/download/mysql55.rar


执行sql文件:source project.sql

执行sql文件:cat project.sql | mysql -hhost -uuser -p

执行linux系统命令:system pwd,system ls -al


三、dump工具介绍

备份所有库:mysqldump [options] --all-databases

备份库:mysqldump [options] --databases db_name ...

备份表:mysqldump [options] db_name [tbl_name ...]


备份数据库:mysqldump -uuser -p --default-character-set=utf8 dbname >dbname.sql

备份数据表:mysqldump -uuser -p dbname tablename >tablename.sql

-w--where条件备份数据:mysqldump -uuser -p dbname tablename -w "id=num" >tablename.sql


into outfile,备份到mysql服务器上面,默认在目录/var/lib/mysql:

select width,height from eps_file into outfile '/tmp/eps_file.txt';


into dumpfile,备份到mysql服务器上面,默认在目录/var/lib/mysql,适合备份一行数据,数据行列没有分隔符:

select width,height from eps_file limit 1 into dumpfile '/tmp/eps_file.txt';


mydumper工具介绍:

1、支持多线程的数据库导出工具,并且输出功能非常强大;

2、下载地址:https://github.com/mydumper/mydumper


四、PT工具介绍

1、PT,Percona Toolkit,一个数据库工具集合;

2、在线修改表结构工具是pt-online-schema-change;

3、该工具通过创建表副本和触发器实现无锁更新表结构;

4、工具下载:https://github.com/percona/percona-toolkit

5、工具帮助:https://docs.percona.com/percona-toolkit


五、查看数据库占用空间

1、数据库所有表

select TABLE_SCHEMA,TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA not in ('information_schema');


2、数据库所有表字段

select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from information_schema.COLUMNS where TABLE_SCHEMA not in ('information_schema');


3、数据库所占空间

SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size,
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size
FROM information_schema.tables WHERE TABLE_SCHEMA = '数据库名';


4、表所占空间
SELECT TABLE_NAME AS table_name, CONCAT(TRUNCATE(data_length/1024/1024,2),'MB') AS data_size,
CONCAT(TRUNCATE(max_data_length/1024/1024,2),'MB') AS max_data_size,
CONCAT(TRUNCATE(data_free/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(index_length/1024/1024,2),'MB') AS index_size
FROM information_schema.tables WHERE TABLE_SCHEMA = '数据库名' order by data_size desc;


六、binlog详解

1、binlog记录数据行的修改,一个SQL修改了N行记录,导致binlog生成N行记录;

2、binlog同步,依赖replication协议,https://github.com/osheroff/mysql-binlog-connector-java

3、数据同步,依赖binlog同步,https://github.com/ververica/flink-cdc-connectors

发表评论
评论通过审核之后才会显示。