CentOS 搭建 MySql 主从备份

约定:

192.168.21.128 Master

192.168.21.129  Slave

以下配置拷贝与网络

配置篇

一、配置MySQL主服务器(192.168.21.128)

mysql -u root -p #进入MySQL控制台

create database osyunweidb; #建立数据库osyunweidb

insert into mysql.user(Host,User,Password) values('localhost','osyunweiuser',password('123456')); #创建用户osyunweiuser,密码123456

grant all on osyunweidb.* to 'osyunweiuser'@'192.168.21.130' identified by '123456' with grant option; #授权用户osyunweiuser从192.168.21.130完全访问数据库,注意:这里的192.168.21.130是要连接数据库Web服务器IP

insert into mysql.user(Host,User,Password) values('localhost','osyunweidbbak',password('123456')); #建立MySQL主从数据库同步用户osyunweidbbak密码123456

flush privileges; #刷新系统授权表

grant replication slave on *.* to 'osyunweidbbak'@'192.168.21.129' identified by '123456' with grant option; #授权用户osyunweidbbak只能从192.168.21.129这个IP访问主服务器192.168.21.128上面的数据库,并且只具有数据库备份的权限

二、把MySQL主服务器192.168.21.128中的数据库osyunweidb导入到MySQL从服务器192.168.21.129中

1、导出数据库osyunweidb

mysqldump -u root -p --default-character-set=utf8 --opt -Q -R --skip-lock-tables osyunweidb > /home/osyunweidbbak.sql #在MySQL主服务器进行操作,导出数据库osyunweidb到/home/osyunweidbbak.sql

备注:在导出之前可以先进入MySQL控制台执行下面命令

flush tables with read lock; #数据库只读锁定命令,防止导出数据库的时候有数据写入

unlock tables; #解除锁定

scp /home/osyunweidbbak.sql root@192.168.21.129:/home #把home目录下的osyunweidbbak.sql 数据库文件上传到MySQL从服务器的home目录下面

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

2、导入数据库到MySQL从服务器

mysql -u root -p #进入从服务器MySQL控制台

create database osyunweidb; #创建数据库

use osyunweidb #进入数据库

source /home/osyunweidbbak.sql #导入备份文件到数据库

mysql -u osyunweidbbak -h 192.168.21.128 -p #测试在从服务器上登录到主服务器

三、配置MySQL主服务器(192.168.21.128)的my.cnf文件

vi /etc/my.cnf #编辑配置文件,在[mysqld]部分添加下面内容

server-id=1 #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

log-bin=mysql-bin #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

binlog-do-db=osyunweidb #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

binlog-ignore-db=mysql #不同步mysql系统数据库

:wq! #保存退出

service mysqld restart #重启MySQL

mysql -u root -p #进入mysql控制台

show variables like 'server_id'; #查看server-id的值是否为1

mysql> show variables like 'server_id';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 1 |

+---------------+-------+

1 row in set (0.00 sec)

show master status; #查看主服务器,出现以下类似信息

mysql> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000011 | 107 | osyunweidb | mysql |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

注意:这里记住File的值:mysql-bin.000011和Position的值:107,后面会用到。

四、配置MySQL从服务器(192.168.21.129)的my.cnf文件

vi /etc/my.cnf #编辑配置文件,在[mysqld]部分添加下面内容

server-id=2 #设置服务器id,修改其值为2,表示为从数据库

log-bin=mysql-bin #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。

replicate-do-db=osyunweidb #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

replicate-ignore-db=mysql #不同步mysql系统数据库

read_only #设置数据库只读

:wq! #保存退出

service mysqld restart #重启MySQL

mysql -u root -p #进入MySQL控制台

show variables like 'server_id'; #查看server-id的值,必须为上面设置的2,否则请返回修改配置文件

mysql> show variables like 'server_id';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 2 |

+---------------+-------+

1 row in set (0.01 sec)

slave stop; #停止slave同步进程

change master to master_host='192.168.21.128',master_user='osyunweidbbak',master_password='123456',master_log_file='mysql-bin.000011' ,master_log_pos=107; #执行同步语句

slave start; #开启slave同步进程

SHOW SLAVE STATUS\G #查看slave同步信息,出现以下内容

mysql> SHOW SLAVE STATUS\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.21.128

Master_User: osyunweidbbak

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000011

Read_Master_Log_Pos: 107

Relay_Log_File: mysqlslave-relay-bin.000004

Relay_Log_Pos: 253

Relay_Master_Log_File: mysql-bin.000011

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: osyunweidb

Replicate_Ignore_DB: mysql

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 107

Relay_Log_Space: 560

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

1 row in set (0.00 sec)

mysql>

注意查看:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

以上这两个参数的值为Yes,即说明配置成功!

测试篇

测试MySQL主从服务器是否正常运行

1、进入MySQL主服务器(192.168.21.128)

mysql -u root -p #进入MySQL控制台

use osyunweidb #进入数据库

CREATE TABLE test ( id int not null primary key,name char(20) ); #创建test表

2、进入MySQL从服务器

mysql -u root -p #进入MySQL控制台

use osyunweidb #进入数据库

show tables; #查看osyunweidb表结构,会看到有一个新建的表test,表示数据库同步成功

mysql> show tables;

+----------------------+

| Tables_in_osyunweidb |

+----------------------+

| test |

+----------------------+

1 row in set (0.00 sec)

至此,Linux下MySQL数据库主从同步配置完成!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 一、项目目标 搭建一个高可用web集群网站 二、项目规划 2.1 ip地址规划 2.2 拓扑图 2.3 相关说明 ...
    夏日之光阅读 3,367评论 0 1
  • 这篇博客会详细介绍如何配置主从配置,但重点是想分享如何当配置未成功时,如何调试。 原文连接(推荐这个看 比较清晰)...
    海里的沙丁鱼阅读 753评论 0 2
  • 文‖云飞扬 陌上花 开得如你娇艳 一朵一朵 都是你的容颜 花开 与女人有关 季节的美 会是万紫千红的盛绽 花开是 ...
    山东云飞扬阅读 176评论 0 2
  • 小菜鸟进入职场三四年,慢慢进化成为岗位中坚一员。 但凡有上进心的人儿,总会踏上管理岗。要成为管理岗就是要独自承担责...
    90后妹纸进化论阅读 711评论 3 2
  • 不讲阶级的社会, 却筑了一道阶级墙。 贫与富的差距, 各在墙的两旁。 贫者力图冲过墙去, 富者将墙坚固增强! 贫者...
    田尔盛阅读 625评论 1 2