MySQL日常数据维护

MySQL日常数据维护

1、mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表。

实际上,它集成了mysql工具中check、repair、analyze、tmpimize的功能。

rpm -qf `which mysqlcheck`  yum安装查看

mysqlcheck –-help 查看帮助

-c, --check (检查表);

-r, --repair(修复表);

-a, --analyze (分析表);

-o, --tmpimize(优化表); //其中,默认选项是-c(检查表)

-u, 使用mysql中哪个用户进行操作

使用以下3种方式来调用mysqlcheck:

mysqlcheck[tmpions] db_name [tables]

mysqlcheck[tmpions] ---database DB1 [DB2 DB3...]

mysqlcheck[tmpions] --all--database

如果没有指定任何表或使用---database或--all--database选项,则检查整个数据库。

示例:

1:检查表(check)

mysqlcheck -uroot -p123456 -c book books

2:修复表(repair)

mysqlcheck -uroot -p123456 -r book books

3:修复指定的数据库

mysqlcheck -uroot -p123456 -r --database book

4:检查修复所有数据库

mysqlcheck -uroot -p -A –r

    

参数-A 等于  --all-databases  

5:每天定时对mysql数据库进行优化

使用计划任务

crontab –e
#0 1 * * * mysqlcheck -A -o -r  -u你的用户名 -p你的密码 > /dev/null 2>&1
#每天3点优化
0 3 * * *  mysqlcheck -uroot -p123456 -r -o -A > /dev/null 2>&1

2:MySQL备份恢复

MySQL数据的导出和导入工具:mysqldump

导出数据:

语法: mysqldump [TMPIONS] database [tables] >导出的文件名.sql

A:导出所有数据库

mysqldump -uroot -p123456 -A >all.sql
mysqldump -uroot -p123456 --all-databases >all2.sql
#参数-A代表所有,等同于—all-databases

B:导出某个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名.sql  # 注意是-p空格后是数据库名,不是密码。
mysqldump -uroot -p123456 book >book.sql

vim book.sql

C:导出单张表

mysqldump -uroot -p123456 book books >books.sql  #导出book库books表

D:导出库的表结构

mysqldump -uroot -p123456 -d book>booktable.sql  #只导出book库的表结构

E:只导出数据

mysqldump -uroot -p123456 -t book>bookdata.sql  #只导出book库中的数据

F:导出数据库,并自动生成库的创建语句

mysqldump -uroot -p123456 -B book2 >book2.sql
mysql -uroot -p123456 < book2.sql  导入不用指定数据名

导入数据:

A:导入所有数据库

mysql -uroot -p123456 <all.sql

B:导入数据库

mysql -uroot -p123456 book <book.sql  
#如果导入时,没有对应的数据库,需要你手动创建一下:
mysql> create database book;

使用source导入

mysql> create database book;
mysql> use book;
mysql> source /root/book.sql

C:导入表

mysql> drop table books;
mysql> source /root/books.sql;   ##导入表时,不需要重新,创建表。要先进到相应的数据库中
mysql> select * from books;

D:导入表结构和数据

mysql> create database book;
mysql -uroot -p123456 book<booktable.sql
mysql -uroot -p123456 book<bookdata.sql

实战:写个自动备份MySQL数据库shell脚本

Vim  mysql-autoback.sh 

#!/bin/bash   

export.UTF-8  

savedir=/database_back/   

cd "$savedir"  

time="$(date +"%Y-%m-%d")"  

mysqldump -u root -p123456 book > book-"$time".sql  


扩展

Xtrabackup热备工具,它可实现ibbackup的所有功能,并且还扩展支持真正的增量备份功能。

Xtrabackup包括两个主要工具:Xtrabackup和innobackupex:

Xtrabackup只能备份InnoDB和XtraDB两种引擎表,而不能备份MyISAM数据表。

innobackupex则封装了xtrabackup,同时可以备份MyISAM数据表。Xtrabackup做备份的时候不能备份表结构、触发器等等,智能区分.idb数据文件。另外innobackupex还不能完全支持增量备份,需要和xtrabackup结合起来实现全备的功能

xtrbackup 安装 (mysql5.7.20需安装最新版XtraBackup2.4)

下载网址:https://www.percona.com/downloads/Percona-XtraBackup-LATEST/#

版权声明:
作者:WaterBear
链接:https://l-t.top/1772.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>