首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mysql master-slave 模式数据库搭建,mysql数据库主从复制

Mysql master-slave 模式数据库搭建总结

任务名称:Mysql master-slave 模式数据库搭建

硬件环境:

IBM 3850 M2 / x 3950 M2 服务器

软件环境:

OS:CentOS 5.5 x86_64

Database:mysql-5.5.21-linux2.6-x86_64.tar.gz

Vmware EXS 4.0(服务器)

搭建准备工作:

1.创建虚拟机两台(一个作为master,一个作为slave)

2.两个同一网段的IP,并且SSH互信

3.数据库软件mysql-5.5.21-linux2.6-x86_64.tar.gz

搭建步骤

两台数据库服务器的master、slave分配

Master server IP: 192.168.12.222

Slave server IP: 192.168.12.226

一、安装数据库环境

将mysql-5.5.21-linux2.6-x86_64.tar.gz分别放置两台服务器的 / 目录(此时安装数据库环境,两台服务器相同配置)

1.解压mysql-5.5.21-linux2.6-x86_64.tar.gz

[root@mysql]#tar zxvf mysql-5.5.21-linux2.6-x86_64.tar.gz –C /usr/local

2.创建软连接,为了方便访问

[root@mysql]#ln –s mysql-5.5.21-linux2.6-x86_64.tar.gzmysql

3.进入/usr/local/mysql目录,执行数据库初始化脚本mysql_install_db:

[root@mysql] #/script/mysql_install_db

4.创建用户组mysql

[root@mysql] #groupadd mysql

创建用户mysql

[root@mysql] #useradd –g mysql mysql

5.修改mysql二进制代码所有权

[root@mysql] #chown –R root /usr/local/mysql

6.保证新创建的用户mysql可以对mysql目录进行i/o访问

[root@mysql] #chown –R mysql /usr/local/mysql/data

[root@mysql] #chgrp –R mysql /usr/local/mysql

7.数据库环境搭建完成,启动数据库服务

[root@mysql]#/usr/local/mysql/support-files/mysql.server start

8.进入数据库

对数据库授权,允许任何IP通过用户名root进行访问数据库

[root@mysql] #/usr/local/mysql/bin/mysql

Mysql>GRANT ALL PRIVILEGES ON *.* TO root@’%’IDENTIFIED BY ‘root’;

9.将mysql配置文件复制到 /etc目录下

[root@mysql]#cp /usr/local/mysql/support-files/my-meidiu

>m.cnf /etc/my.cnf

二、数据库master-slave配置

Master server配置

1.编辑mysql配置文件

[root@mysql]#vim /etc/my.cnf

确保mysql配置文件中以下两行代码不处于注释状态

server-id=1

log-bin=mysql-bin

MySQL进行主从复制是通过二进制的日志文件来进行,所以我们必须开启MySQL的日志功能,即我们上面的log-bin,同时每一台数据库服务器都需要指定一个唯一的server-id,通常主数据库服务器我们指定为1。主数据库服务器的配置就是如此了,然后我们还需要给主数据库授予一个可以进行复制的用户

2.创建mysql用户repl授予可复制权限,以供slave server使用

[root@mysql]#/usr/local/mysql/bin/mysql –u root –p

mysql>GRANT REPLICATION SLAVE ON *.* TO repl@’%’ IDENTIFIED BY ‘bank’;

3.重启数据库,进入数据库执行show master statusG

mysql>show master statusG

slave server配置

1.编辑mysql配置文件

[root@mysql]#vim /etc/my.cnf

确保mysql配置文件中以下两行代码不处于注释状态

server-id=2 此处必须改为除1以外的数(master id=1)

log-bin=mysql-bin

2.进入数据库

[root@mysql]#/usr/local/mysql/bin/mysql –u root –p

mysql> change master to master_host='192.168.12.222',

-> master_user='repl',

-> master_password='bank',

-> master_log_file='mysql-bin.000004',

-> master_log_pos=1265;

mysql>start slave;

mysql>show slave status;

三、测试

测试方案:

(1)master server中建立数据库,建立表,插入数据,查看slave server是否同步。

(2)使master server非正常宕机,slave正常运行,再启动master server,在进行插入删除操作,查看是否继续保持master-slave模式

(3)master server正常运行,使slave server非正常宕机,启动slave server,查看是否继续保持master-slave模式

(4)master server正常运行,使slave server非正常宕机,并且对master server进行插入删除操作,查看是否继续保持master-slave模式

以上测试数据库均保持master-slave模式,所有数据同步无异常。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180829A038RK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券