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模式,所有数据同步无异常。
领取专属 10元无门槛券
私享最新 技术干货