文档章节

MySQL备份及主从同步

mywd
 mywd
发布于 2017/08/16 12:24
字数 1196
阅读 17
收藏 0
点赞 0
评论 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
两种方法解决mysql主从不同步

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

netmouse
2013/10/17
0
0
mysql 5.6主从同步

主库IP:192.168.1.10 从库IP:192.168.1.11 1、主库配置编辑my.cnf: # 启用二进制日志 logbin = mysql-bin server-id = 111 // 此 ID 号不可重复 log-bin-index=mysql-bin.index syncbinl......

菜鸟的征程
2016/11/22
0
0
mysql主从和半主从

mysql主从和半主从 Mysql主从复制(Mysql主从复制就是为了保障数据的数据安全性和安全性) MYSQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的管...

stevenhuhu
2014/04/11
0
0
mysql 主从不一致解决方法

方法一:忽略错误,同步 该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况 解决: stop slave; #表示跳过一步错误,后面的数字可变 set global sql...

桔子
2013/07/23
0
0
2种方法解决mysql主从不同步

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

武当剑客
2016/02/29
108
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
33分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
48分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
245
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部