文档章节

MySQL备份及主从同步

mywd
 mywd
发布于 2017/08/16 12:24
字数 1196
阅读 19
收藏 0

安装mysql数据库

1、从mysql官网下载需要的版本 (说明下:下面的网址是官网,不能直接get,需要看下服务器的版本和操作系统位数。找到对应的版本链接填进去。)

#wget http://dev.mysql.com/downloads/mysql/5.6.html

2、进入系统后,检测是否安装mysql.

#rpm -qa | grep -i mysql

若已安装,那么删除它(这里填的是qa出来的东西):

#rpm -ev MySQL-server-5.0.22-0.i386

#rpm -ev MySQL-client-5.0.22-0.i386

3、安装mysql(这里的rpm填tar包里面解压出来的东西)

#rpm -ivh /home/MySQL-server-5.6.30-1.el6.x86_64.rpm

#rpm -ivh /home/MySQL-client-5.6.30-1.el6.x86_64.rpm

==安装版本兼容用的lib==

#rpm -ivh /home/MySQL-shared-compat-5.6.30-1.el6.x86_64.rpm

==处理配置文件==

#cp  /usr/share/mysql/my-medium.cnf  /etc/my.cnf

写入配置

#vim etc/my.cnf
[mysqld]

datadir          = /var/lib/mysql   #数据仓库目录

socket          = /var/lib/mysql/mysql.sock #连接文件

character_set_server=utf8   #服务端字符集

collation-server=utf8_general_ci #连接服务字符集

lower_case_table_names=1    #表名不区分大小写

character_set_client=utf8   #客户端字符集

max_connections=1000    #最大连接数

innodb_file_per_table=1 #开启innodb独立的表空间文件

==最后执行安装命令==

#mysql_install_db

4、启动数据库

#/etc/init.d/mysql start

5、登录数据

#mysql -uroot -p

备份恢复

安装Percona Xtrabackup备份工具

1、在官网上获取需要的版本(5.5以上mysql可以使用最新版,5.0的mysql只用用2.0的工具)

#wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.2/binary/redhat/6/x86_64/percona-xtrabackup-2.3.2-1.el6.x86_64.rpm

2、安装依赖

#yum -y install epel-release

3、安装备份工具(如果是备份还原不再同一台服务器,都需要安装)

#yum -y localinstall percona-xtrabackup-2.3.2-1.el6.x86_64.rpm

备份

1、全库备份(如果是做主从,建议在主库执行flush logs;)

#innobackupex --defaults-file=/etc/my.cnf --userroot  --password sxw@12345  /home/xtrabackup/

2、指定库备份(库名中间空格分隔)

#innobackupex --defaults-file=/etc/my.cnf --userroot  --password sxw@12345  -databases=sxwinnodb sxwinnodb_2015 /home/xtrabackup/

恢复

1、拷贝备份到从库

#scp -r /home/xtrabackup root@192.168.1.17 : /home/xtrabackup

2、停mysql

#/etc/init.d/mysqld stop

3、数据目录备份

#mv /var/lib/mysql /var/lib/mysql_bak

4、重建数据目录

#mkdir /var/lib/mysql

5、--apply-log回滚未提交的事务及同步已经提交的事务至数据文件

#innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /home/xtrabackup/2016-05-18_17-16-31/

6、--copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文件里规定的初始位置

#innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /home/xtrabackup/2016-05-18_17-16-31/

7、改变文件所属

#chown -R mysql.mysql /var/lib/mysql

8、启动mysql服务

#/etc/init.d/mysqld start

PS:如果还想用原库的用户,需要把mysql/mysql这个库从bak拷贝回去

配置主从(修改数据库配置文件,需要重启数据库才能生效。)

1、master配置

#vim /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql  ##数据仓库目录

server-id=1   ##serverid随便命名,必须是数字。在slave配置时候会用到。

log-bin=mysql-bin    ##binlog开启的配置,主从是基于binlog去做的,必须配置

2、Slave配置

[mysqld]

server-id=2

datadir=/var/lib/mysql

log-bin=mysql-bin ##如果是想做主主结构,那么也必须配置binlog

3、==主库==:创建主从同步帐号

#GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.%' IDENTIFIED BY 'slave';

#UPDATE mysql.user SET Password=PASSWORD('slave') where USER='slave';

#FLUSH PRIVILEGES;

4、==主库库==:查找binlog相关

master_log_file 这个参数是主库binlog的当前文件。 master_log_pos 这个是binlog的当前点。 这两个参数,可以通过主库里面获取。 获取方法:

#show master status\G 

5、==从库==:配置主从信息

#change master to master_user='slave',master_password='slave',master_host='192.168.1.16',master_port=3306,master_log_file='logbin.000040',master_log_pos=107;

6、==从库==:开始主从同步

#start slave;

#show slave status\G;

常见问题

备份

Can't connect to local MySQL server through socket '/tmp/mysql.sock'

解决办法:http://www.cnblogs.com/kerrycode/p/5309083.html
http://www.cnblogs.com/eoiioe/archive/2008/12/28/1363947.html
innobackupex: Error while setting value '/tmp/my.log' to 'log-copy-interval'
解决办法:已经不支持此参数,删除log配置log-copy-interval
    换成
    general_log=ON
    general_log_file=/tmp/mysql.log
http://blog.itpub.net/12762446/viewspace-1195014/
innobackupex: Connecting to MySQL server with DSN 'dbi:mysql
解决办法:yum -y install  perl-DBD-mysql

恢复

InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
解决办法:
#rm -rf /home/sql/mysql/ib_logfile1
#rm -rf /home/sql/mysql/ib_logfile0

主从

常用命令

配置主从信息
    change master to master_user='slave',master_password='slave',master_host='192.168.1.16',master_port=3306,master_log_file='logbin.000040',master_log_pos=107;
开始主从
	start slave;
停止
	stop slave;
重置配置
	reset slave;
跳过一步错误,后面的数字可变 
    set global sql_slave_skip_counter =1; 
查看从库
	show slave status\G;
重新配置log位置
	CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=107;
查看主库日志信息
	show master status\G;
查看数据库版本
	select version();

主从不同步问题参考


http://www.jb51.net/article/33052.htm

参考

Mysql安装

http://www.cnblogs.com/sunson/articles/2172086.html

备份恢复

http://blog.51yip.com/mysql/1650.html

主从配置

http://blog.csdn.net/hguisu/article/details/7325124

https://segmentfault.com/a/1190000003063874

https://segmentfault.com/a/1190000002575399

© 著作权归作者所有

共有 人打赏支持
mywd
粉丝 3
博文 9
码字总数 4255
作品 0
MySQL主从介绍&准备工作&配置主&配置从&测试主从同步

17.1 MySQL主从介绍 MySQL主从的概念 • MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 • MySQL主从是...

影夜Linux
07/06
0
1
mysql主从状态异常解决办法

今天发现新插入的一条数据,读取的时候无此数据,因为我这里做了读写分离,所以怀疑是从库的问题。 不知什么原因导致Mysql的主从数据库没有同步。 先上Master库: mysql>show processlist; ...

蜗牛的嘲讽
2016/12/22
0
0
解决MySQL主从不同步问题

解决mysql主从不同步 今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多。发现很正常。 show master status; 也正常。 mysql> show mast...

浅景尘
2017/07/26
0
0
解决MySQL主从不同步问题

解决mysql主从不同步 今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多。发现很正常。 show master status; 也正常。 mysql> show mast...

浅景尘
2017/07/25
0
0
解决mysql 数据库主从不同步

今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多。发现很正常。 show master status; 也正常。 mysql> show master status; +--------...

冰山剑客
2017/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部