Xtrabackup 对MYSQL进行备份还原

在操作MYSQL中注意两个概念:

干什么都记得 flush privileges;

grant all on *.* to root@’localhost’ identified by ‘password’  WITH GRANT OPTION 

记得要加WITH GRANT OPTION

=========================

2,RDS MySQL 使用开源软件 Xtrabackup 对 MySQL 数据库进行备份。需要下载该软件,然后使用该软件进行恢复。

将下载好的文件*.tar.gz 放到linux服务上

mkdir /mysql2/ cd /mysql2/

tar -izxvf *.tar.gz

 innobackupex –defaults-file=./backup-my.cnf –apply-log ./

rm -rf mysql    #这里删除mysql目录是为了以后连接数据库权限

 

3,关键在这里了,我们需要配置my.cnf ,如果说你之前linux服务器就已经有一个实例了,那么现在你还要创建一个实例(也就是一台多个mysql服务)

/usr/local/lnmp/mysql/bin/mysql_install_db –user=mysql –datadir=/mysql2/

 

vi /etc/my.cnf

[client] 
default-character-set = utf8

[mysqld_multi]
mysqld = /mysql/bin/mysqld_safe
mysqladmin = /mysql/bin/bin/mysqladmin
user = root

[mysqld1]
port = 3306
socket = /tmp/mysql.sock
datadir = /date/
pid-file = /date/mysql1.pid
log-error = /date/mysql_error.log
skip-locking
max_connections = 600
event_scheduler=ON
server-id = 1

[mysqld2]
port = 3307
socket = /tmp/mysql2.sock
datadir = /mysql2
pid-file = /mysql2/mysql.pid
log-error = /date/mysql_error2.log
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1048576000       #这三行很重要,在/mysql2/mysql-my.cnf中有,复制过来就可以了,不然innodb表打不开

 

启动实例

/mysql/bin/mysqld_multi –defaults-file=/etc/my.cnf start 1

/mysql/bin/mysqld_multi –defaults-file=/etc/my.cnf start 2 

 

停止实例方法

kill -9 `ps -ef | grep 3307 | grep -v grep | awk ‘{print $2}’ | xargs`

修改mysql数据库用户名

mysql -uroot -pxxxx -S /tmp/mysql2.sock

grant all on *.* to root@’localhost’ identified by ‘xxxx’  WITH GRANT OPTION

 

4,以上第3步是针对一台多个实例,如果就一个实例的话就不需要那么麻烦了,第3步就是如下了:

vi /etc/my.cnf

[mysqld]

********

innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1048576000     #只要加这三行就可以了

********

 

~~~~~~~~~~~~

重置密码的方法:

 

方法一:
1.关闭mysql
   # service mysqld stop
2.屏蔽权限
   # mysqld_safe –skip-grant-table
   屏幕出现: Starting demo from …..
3.新开起一个终端输入
   # mysql -u root mysql
   mysql> UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=’root’;
   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql> q

 

~~~~~~~~~~~~~

还原时的注意事项:

MySQL报错:The MySQL server is running with the –skip-grant-tables option so it cannot execute this statement

The MySQL server is running with the –skip-grant-tables option so it cannot execute this statement

解决办法:

mysql> set global read_only=0;
(关掉新主库的只读属性)

 flush privileges;

set global read_only=1;(读写属相)

 flush privileges;

~~~~~~~~~~~~~~~~~

 

阿里的操作指南:

 

1. 概述   RDS MySQL 使用开源软件  Xtrabackup 对 MySQL 数据库进行备份。需要下载该软件,然后使用该软件进行恢复。   1.1 需要安装的软件 目前RDS使用Xtrabackup的版本是2.0.6, 点击下载地址 并选择与你操作系统版本对应的原件。 例如,我们这里下载RHEL6/x86_64版本。并使用rpm命令进行安装: sudo rpm -ivh percona-xtrabackup-2.0.6-521.rhel6.x86_64.rpm   1.2 快速恢复手册 这是一个快速恢复说明,适用于了解Linux环境和RDS管理控制台的用户。详细说明参考本文后面”step by step说明”。这里假设从管理控制台下载的备份文件为backup-20130819.tar.gz,恢复过程在/SOME-USER-DIR下进行。   解压备份文件(*需要加-i参数*)    cp BAK.tar.gz /SOME-USER-DIR    cd /SOME-USER-DIR    tar -izxvf BAK.tar.gz   恢复数据到一致的状态   innobackupex –defaults-file=./backup-my.cnf –apply-log ./   这一步如果看到类似如下输出,表示执行成功:   111225 01:08:13  innobackupex: completed OK!   这时,当前目录下数据就是一个完整的可以使用的数据文件了,将该目录下的所有文件拷贝到数据库数据目录下,再开启数据库,即完成恢复。     2. step by step说明   2.1 管理控制台中下载备份文件   2.1.1 在RDS控制台中的备份与恢复->备份列表,选择一个备份文件进行下载,如下图  

Xtrabackup 对MYSQL进行备份还原   2.1.3 下载文件成功后,将备份文件上传至linux系统,上传成功后在Linux系统上检测,如下图   Xtrabackup 对MYSQL进行备份还原   2.2.2 查询解压后生成的文件,其中蓝色字体的目录文件为备份生成时RDS存在的数据库   Xtrabackup 对MYSQL进行备份还原   2.4 配置文件修改   由于存在的版本问题,请将解压文件backup-my.cnf中的innodb_fast_checksum,innodb_page_size ,innodb_log_block_size 注释掉并且添加datadir=/xxx/xxx/(备份文件解压路径),如下图:   Xtrabackup 对MYSQL进行备份还原   2.5.2 初始化mysql默认库 命令: mysql_install_db –user=mysql –datadir=/xxx/xxx/ (备份文件所属目录) 并确认操作成功,如下图:   Xtrabackup 对MYSQL进行备份还原   2.6 启动mysqld进程并且登录验证 2.6.1 启动mysqld进程,并验证启动成功 命令:mysqld_safe –defaults-file=/xxx/xxx/backup-my.cnf &  (备份文件所属目录)    Xtrabackup 对MYSQL进行备份还原     3. 其他问题   因为软件限制,目前恢复只支持Linux下进行。Linux下恢复的数据文件,无论Windows、Linux下,MySQL都可以正常使用

转载于:https://www.cnblogs.com/aguncn/p/4313702.html

文章知识点与官方知识档案匹配,可进一步学习相关知识Linux技能树Linux实用命令awk命令4004 人正在系统学习中 相关资源:Veneer:文件屏蔽软件-开源-其它代码类资源-CSDN文库

来源:weixin_30709061

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年2月2日
下一篇 2015年2月2日

相关推荐