mysql备份恢复

1.普通备份

mysql
改密码:
mysql-nt  --skip-grant-tables
use mysql;
UPDATE user SET password=PASSWORD("123456") WHERE user=‘root‘;
flush  privileges;
---------------------------
#创建用户root并赋予权限
use mysql;
grant all on *.* to root@‘%‘ identified by ‘password‘;
flush privileges;

-----------------------给用户kkk赋予权限
use mysql;
grant select,update,delete,insert  on dmc_db.*  to  kkk;
GRANT all privileges ON *.* TO tongbu@‘172.18.3.3‘ IDENTIFIED BY ‘123456‘; 
flush privileges;
-------------------------mysql同步账号
GRANT REPLICATION SLAVE,FILE ON *.* TO ‘sync‘@‘%‘ IDENTIFIED BY ‘123456‘;
FLUSH PRIVILEGES;

CHANGE  MASTER TO  
MASTER_HOST=‘192.168.0.133‘,
MASTER_USER=‘sync‘,
MASTER_PASSWORD=‘123456‘,
MASTER_LOG_FILE=‘mysql-bin.000001‘,  
MASTER_LOG_POS=312;
-------------------------------
backup
mysqldump -uroot -p   databases > datas.sql
mysqldump -uroot -p   databases tables > tables.sql

resover恢复
mysql  -uroot -p   databases < datas.sql
----------------------
mysql>use databases;
mysql>source  ./datas.sql

#导出数据库结构
mysqldump -u root -p -d --add-drop-table databases_jg >data_jg.sql
 -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table 
----------------------------------
mysqladmin  -uroot -p123456  password  ‘1235468979‘    #p和密码不要分开
---------------------------------
>flush tables with read lock;
root#mysqldump data >data.sql
>unlock tables;
***********************************************************************************************************

2.innobackupex备份

安装innobaupex的依赖:
#yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes  perl-DBD-MySQL   perl-IO-Socket-SSL

 #rpm -ivh percona-xtrabackup-2.2.11-1.el6.x86_64.rpm

#压缩备份
#innobackupex  --user=root --host=127.0.0.1 --password=123456 --port=3306  --parallel=4 --throttle=400 --stream=tar /data/backup  2>  /data/backup/data2.log 1>/data/backup/datas.tar
#innobackupex  --user=root --defaults-file=/etc/my.cnf  --stream=tar  /data/backup/ | gzip > /data/backup/`date +%F_%H-%M-%S`.tar.gz

#非压缩备份
#innobackupex  --user=root --host=127.0.0.1 --password=123456 --port=3306  --parallel=4 --throttle=400 /data/backup  2>  /data/backup/data2.log
#innobackupex  --user=root --defaults-file=/etc/my.cnf   /data/backup/  #本地全库备份
#innobackupex  --user=root --defaults-file=/etc/my.cnf  --database=test /data/backup/   #本地单库test备份

#----------------------------------------------------------------------
恢复注意:先停止数据库,情况datadir目录的所有文件,然后如下:
# /etc/init.d/mysqld stop      //停掉mysql  
# mv /var/lib/mysql /var/lib/mysql_bak   //数据目录备份  
# mkdir -p /var/lib/mysql  //重建数据目录  
      
//--apply-log选项的命令是准备在一个备份上启动mysql服务  
# innobackupex --defaults-file=/etc/my.cnf  --apply-log /data/backup/2015-05-29_11-36-22  
      
//--copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文件里规定的初始位置  
# innobackupex --defaults-file=/etc/my.cnf --copy-back /data/backup/2015-05-29_11-36-22  
      
# chown -R mysql.mysql /var/lib/mysql  //改变文件所属  
# /etc/init.d/mysqld restop  //启动mysql


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。