MYSQL_备份恢复手段

来源:这里教程网 时间:2026-03-01 15:02:01 作者:

1.冷备份

停库,备份

# which mysqladmin

# mysqladmin -uroot -pOracle123 shutdown

# ps -ef|grep mysql

 

 

进入数据文件所在位置进行物理cp或者scp

 

2.热备份

2.1 mysqldump备份

它的备份过程是先从buffer中找到需要备份的数据进行备份,不然就将数据文件中缓存到buff中进行备份 全库备份# mysqldump --single-transaction -uroot -pOracle123 -A > all_20200310.sql全库恢复# mysql -uroot -pOracle123 < all_20200310.sql 单库备份TEST# mysqldump --single-transaction -uroot -pOracle123 TEST > TEST_20200310.sql单库恢复# mysql -uroot -pOracle123 TEST < TEST_20200310.sql 注:数据库TEST如果被删除了,需要先创建空库TEST   备份单表TEST.TEST# mysqldump --single-transaction -uroot -pOracle123 TEST TEST > TEST.TEST_20200310.sql单表还原# mysql -uroot -pOracle123 TEST < TEST_20200310.sql  备份表结构TEST# mysqldump --single-transaction -uroot -pOracle123 TEST TEST -d >TEST_META_20200310.sql 备份表内容TEST# mysqldump --single-transaction -uroot -pOracle123 TEST TEST -t >TEST_DATA_20200310.sql 按要求备份TEST# mysqldump --single-transaction -uroot -pOracle123 TEST TEST -- where="id>3" >TEST_WHERE_20200310.sql 

2.2 select …into outfile

注:先确保secure_file_priv参数不为NULL,否则设置 secure-file-priv="" mysql> select * from TEST into outfile '/tmp/test.sql';mysql> delete from TEST;mysql> commit;mysql> load data infile '/tmp/test.sql' into table TEST;mysql> COMMIT; 或者# mysql -uroot -pOracle123 -e "load data infile '/tmp/test.sql' into table TEST.TEST" 

2.3 mydumper

下载地址 http://rpm.pbone.net/index.php3/stat/4/idpl/55203713/dir/redhat_el_7/com/mydumper-0.9.1-4.1.x86_64.rpm.html # yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel cmake make# cd /u01# yum install -y mydumper-0.9.1-4.1.x86_64.rpm# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 备份TEST数据库# mydumper -u root -p Oracle123 -B TEST -o /u01/bak  还原TEST数据库mysql> drop database TEST;# myloader -u root -p Oracle -B TEST -d /u01/bak/   备份TEST表# mydumper -u root -p Oracle123 -B TEST -T TEST -o /u01/bak/还原TEST表# myloader -u root -p Oracle123 -B TEST -o TEST -d /u01/bak/ 

相关推荐