mysql数据库读写分离(主从分离)

来源:互联网 发布:淘宝销售方案怎么写 编辑:程序博客网 时间:2024/04/29 19:47

mysql数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和相应速度。

实验环境

master:
192.168.126.134 ubuntu64

slave:
192.168.126.135 ubuntu64

主从服务器的mysql数据库采用以下命令安装:

apt-get install mysql-server

mysql数据库采用以下方式启动或重启:

/etc/init.d/mysql start [stop , restart]

设置主数据库

master服务器,IP地址:192.168.126.134

创建slave用户

#需要在mysql>执行GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.126.%' IDENTIFIED BY 'pass';

修改my.cnf

找到server-id并修改

server-id = 1log-bin=master-binlog-bin-index=master-bin.index

查看master status

#需要在mysql>执行show master status;
+------------------+----------+--------------+------------------+| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000003 |      190 |              |                  |+------------------+----------+--------------+------------------+

File和Position这两个参数在配置slave的时候会用到。

设置从数据库

slave服务器,IP地址:192.168.126.135

修改my.cnf

server-id=2relay-log=slave-relay-bin relay-log-index=slave-relay-bin.index

修改master

#需要再mysql->执行change master to master_host='192.168.126.134', #Master 服务器Ipmaster_port=3306,master_user='repl',master_password='pass', master_log_file='master-bin.000003',    #Master日志文件名master_log_pos=190;     #Master日志同步开始位置

启动slave

#需要再mysql->执行start slave;show slave status\G;    //查看slave连接状态

如果需要修改Master日志文件名或日志开始位置,直接使用change master to语句就可以。

change master to master_log_file='master-bin.000003',   #Master日志文件名master_log_pos=190;     #Master日志同步开始位置

测试

我们在slave数据库中设置了master数据库的ip地址和用户名、密码以及master数据库的日志文件名。slave会实时监测master日志文件的变化,并进行同步。
所以,我们应该将master数据库作为写操作的数据库,slave数据库作为读操作的数据库。
我们在master数据库创建一个demo数据库,然后再slave数据库上查看是否存在demo数据库即可判断是否同步成功。
除此之外,我们还可以在slave数据库上使用show slave status\G;命令查看slave的运行状态,如果报错的话会进行显示。
另外,错误信息还会记录到slave数据库的错误日志中。mysql数据库的错误日志的地址可以在my.cnf中查询到。
这里写图片描述

0 0
原创粉丝点击