mysql主从复制

说明:
mysql主从数据同步,从mysql实时同步主mysql的数据。要求主msyql与从mysql版本相同或主msyql不高于从mysql版本(版本查询>select version())。一般稳健的做法都是使其版本相同,因为不同mysql版本之间的binlog(二进制日志)格式可能不一样,有可能会导致同步异常。

  • 安装mysql

安装 mysql 服务端:

yum install mysql-server mysql-devel

安装 mysql 客户端:

yum install mysql

设置mysql密码

mysqladmin -uroot password '123456';
  • 修改主服务器master
[root@localhost ~]# vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin   //[必须]启用二进制日志
server-id=131       //[必须]服务器唯一ID,默认是1,一般取IP最后一段
  • 修改从服务器slave
[root@localhost ~]# vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin   //[不是必须]启用二进制日志
server-id=132       //[必须]服务器唯一ID,默认是1,一般取IP最后一段
  • 重启两台服务器的mysql
service mysqld restart
  • 在主服务器上建立帐户并授权slave
[root@localhost ~]# mysql -uroot -p
mysql> grant replication slave on *.* to slave@'%' identified by '123456';
//一般不用root帐号,slave@'%':所有客户端都能连,此处可用具体客户端IP代替,如192.168.145.226,加强安全。
  • 登录主服务器的,查询master的状态。记下binlog的File,Position
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      247 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

  • 配置从服务器Slave
mysql> change master to 
master_host='192.168.198.131',
MASTER_PORT=3306,
master_user='slave',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=247;   //注意不要断开,247数字前后无单引号。
  • 启动Slave服务,查看状态
mysql> start slave;
mysql> show slave status\G

当输入命令后会出现一大堆的状态,具体看Slave_IO_Running以及Slave_SQL_Running的状态,如果都是Yes就代表正常
然后还可以看到Slave_IO_State的状态是Waiting for master to send event,含义是等待Master服务器发送事件

  • 主从服务器测试
    在Master服务器插入一条数据
mysql> create database fgf;
mysql> use fgf;
mysql> CREATE TABLE `users` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`website` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

插入成功之后,稍等片刻,就可以在Slave服务器上查看到相同记录,主从同步有时延


如果想要查看当前Slave服务器的同步状态及偏移值等信息,请查找master.info文件

more /var/lib/mysql/master.info

查看Slave执行binlog文件的情况

more /var/lib/mysql/relay-log.info
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值