×

mysql 主从复制

mysql之10分钟搞定mysql主从复制

我的笔记 我的笔记 发表于2018-02-19 11:31:42 浏览3409 评论0

抢沙发发表评论

1. mysql的主从复制

1.1. 主从复制的原理:

mysql要做到主从复制,其实依靠的是二进制日志,类似oracle中的归档日志,即:假设主服务器叫Master,从服务器叫Slave;主从复制就是Slave跟着Master学,Master做什么,Slave就做什么。

那么Slave怎么同步Master的动作呢?现在Master有一个日志功能,把自己所做的增删改查的动作全都记录在日志中,Slave只需要拿到这份日志,照着日志上面的动作施加到自己身上就可以了。这样就实现了主从复制,具体实现如下图:

mysql之10分钟搞定mysql主从复制

1.2. 主从复制的好处

1) 好处一:实现服务器负载均衡

2) 好处二:通过复制实现数据的异地备份

3) 好处三:提高数据库系统的可用性

1.3. 配置mysql主从复制

1安装mysql在主机(192.168.153.160)和从机(192.168.153.161)

yum -y install mysql mysql-server mysql-devel

# 开机启动

[root@localhost ~]# chkconfig mysqld on

# 启动mysqld服务

[root@localhost ~]# service mysqld start

设置mysql root访问密码为admin

mysqladmin -uroot -p password admin

给root用户授权远程访问

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'admin' WITH GRANT OPTION;

Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)


2、修改主服务器master: #vi /etc/my.cnf

[mysqld] 
log-bin=mysql-bin //[必须]启用二进制日志,名字可以随意 
server-id=160 //[必须]服务器唯一ID,默认是1,一般取IP最后一段

3、修改从服务器slave:

#vi /etc/my.cnf
[mysqld] log-bin=mysql-bin 
//[不是必须加]启用二进制日志 
server-id=161 //[必须]服务器唯一ID,默认是1,一般取IP最后一段

4、重启两台服务器的mysql

#/etc/init.d/mysql restart

或者

service mysqld restart

5,查看主机状态

使用root用户进入mysql命令行,

show master status;[object Object]

6,配置从服务器Slave(192.168.153.161):

mysql>change master to master_host='192.168.153.160',master_user='root',master_password='admin',master_log_file='mysql-bin.000002',master_log_pos=106;

//注意这是一整条命令不要断开,master_log_file 的值为上图file列的值,106为position的值,数字前后无单引号。

mysql>start slave;

 //启动从服务器复制功能

7、检查从服务器(192.168.153.161)复制功能状态:

mysql> show slave statusG[object Object]

8、查看 master 和 slave 上线程的状态

在主机192.168.153.160)使用下面命令

mysql> show processlistG;[object Object]

在从机192.168.153.161)使用下面命令

mysql> show processlistG;

mysql之10分钟搞定mysql主从复制

9,主从服务器测试:

在主机(192.168.153.160)上创建数据库qy73,并在qy73中创建表tbl_user.

mysql之10分钟搞定mysql主从复制

在从机(192.168.153.161)上可以发现,数据库qy73和表tbl_user已经同步过来。

mysql之10分钟搞定mysql主从复制

不要为失败找理由,专为成功找方法!

版权付亚东笔记博客所有,禁止转载!!付亚东Java笔记博客

我的笔记博客版权我的笔记博客版权