Mysql主从服务器配置及注意

本文详细介绍了MySQL主从服务器的配置过程,包括删除旧数据、安装MySQL、配置服务器ID、日志设置、创建复制账号、赋予相应权限,以及在从服务器上的配置和启动。在设置完成后,通过检查Slave状态确认复制成功。
摘要由CSDN通过智能技术生成
     项目要使用Mysql的读写分离,本来正式网打算搭建的使用三台服务器,但是由于部门服务器有限,就使用两台作主从分离配置。
    Master服务器:200.200.200.50,Mysql版本:5.1
    Slave服务器:200.200.200.155,Mysql版本:5.5
    有的地方写Slave的Mysql版本不能小于Master的Mysql版本,但是也有要求最好一致,我觉得版本相同,应该不会造成不必要的麻烦,所以决定更新Master服务器的Mysql版本。
    有大牛说可以在Master服务器上直接找升级包,网上搜索了下,没找到,放弃。
    另一只大牛说可以在同一台服务器上放两个Mysql服务,同样在前面那只大牛的电脑上看装两个版本的SQLSERVER,觉得可行。但是由于我也曾试着在自己电脑上SQLSERVER2005的基础上同时安装SQL SERVER 2008,同样失败。但是还是决定试下。
    安装完Mysql5.5之后,本机电脑上出现两个Mysql服务,分别是Mysql和Mysql2,修改Mysql 5.1的my.ini文件,更改端口等,然后修改Mysql5.5的My.ini文件,设置原来使用的端口。验证结果为5.1安装失败!然后尝试卸载Mysql5.1,保留Mysql5.5。然后开始--cmd--net stop mysql 成功!net start mysql之后服务不能启动了!去网上查询原因,有的说是因为两个服务冲突,只好忍痛卸载,再重装了。
    首先要备份下Master服务器上的数据库。在此有三种方法可以采用:
    1,备份data文件夹,由于是否存在版本差异问题,而且备份总是报错,放弃!
    2,使用Mysqldump备份数据库为sql文件,然后在使用Source还原,验证部分数据库,出现未看到函数的问题,放弃!
    3,在Slave服务器上创建要备份的数据库,然后使用Data Transfer导入表结构,数据,函数,视图,事件等。除了因为数据量比较大,而速度比较慢的问题外,暂未出现别的问题。

完全卸载数据库有以下几个步骤:
1,停掉Mysql服务
2,在开始--控制面板--程序--卸载程序里面,卸载Mysql5.1和Mysql5.5
3,开始->运行-> regedit 看看注册表里这几个地方删除没有 

  HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除 

  HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除 

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL(未找到,没删除,验证之后可行)
4,删除mysql的basedir和datadir目录
5,
删除mysql服务

    打开命令行 输入 sc delete mysql 命令即可

然后在安装Mysql。

在安装之后的数据库使用Show Version() 为5.5,安装成功! 然后在Master服务器上新建要保留的数据库,然后使用Data Transfer从Slave服务器导入Master服务器。

配置主从服务器的步骤:
1,打开Master服务器的my.ini文件
    在[mysqld]节点下,添加或修改一下内容:

server-id=150 #服务器ID,可以1(Master服务器)+50(Master服务器IP后两位)

log-bin=mysql-bin01 #设置二进制

binlog-do-db=txserver_xgma #这里设置需要在主服务器记录日志的数据库,只有在这里设置了的数据库才能被复制到从服务器

binlog-ignore-db=txdatacenter #这里设置在主服务器上不记度日志的数据库

binlog-ignore-db=txdatacenter_wd #这里设置在主服务器上不记度日志的数据库

binlog-ignore-db=txdatacenter_xg140401 #这里设置在主服务器上不记度日志的数据库

binlog-ignore-db=txserver #这里设置在主服务器上不记度日志的数据库

binlog-ignore-db=txserver_wd #这里设置在主服务器上不记度日志的数据库

binlog-ignore-db=txserver_xg140401 #这里设置在主服务器上不记度日志的数据库

expire_logs_days=10 #10天清理一次日志

log_slave_updates = 1

read_only=1


然后重启mysql服务

进入控制台, 执行 show master status;
 图片


 执行 SHOW VARIABLES LIKE "%log_bin%";  查看主服务器的binlog是否开启。 log_bin 这项 为 ON 的话就表示已开启。

2,在Master服务器上创建Slave服务器使用的帐号并给予相应的权限(主要是replication slave权限),为避免配置过程中出现问题,可以也给予 reload,super,file权限,配好后再跟据实际情况取消。

grant replication slave, reload,file, super on *.* to 'slave'@'200.200.200.155' identified by '1234'; #slave是用户名,1234是密码 

可以在Slave服务器上创建Slave用户的连接,测试连接是否成功。

3,在Slave服务器的My.ini文件中,[mysqld]下增加或修改

server-id=255

log-bin=mysql-bin02

replicate-do-db=txserver_xgma

replicate-ignore-db=txdatacenter

replicate-ignore-db=txdatacenter_wd

replicate-ignore-db=txdatacenter_xg140401

replicate-ignore-db=txserver

replicate-ignore-db=txserver_wd

replicate-ignore-db=txserver_xg140401

expire_logs_days=10 

重启Slave服务器上的mysql服务
4, 在Slave服务器的主控制台执行以下
mysql>slave stop;
mysql>
change master to 

 master_host='200.200.200.50',

 master_user='slave', 

 master_password='1234', 

 master_port=3306, 

 master_log_file='mysql-bin01.000004',  #为步骤1中执行Show Slave Status后File的内容

 master_log_pos=107 ;  #为步骤1中执行Show Slave Status后Position的内容


mysql>slave start;
至此,就设置完成!如果这里有报
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO的错误,建议重启Slave的Mysql服务,然后重新执行步骤4!

为了验证mysql的Slave服务是否设置成功,在控制台中执行Show Slave Status;
显示
Slave_IO_Running: Yes;

        Slave_SQL_Running: Yes;则设置成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值