从属关系mysql_MySQL读写分离

使用主从设计的最大优势在于可以利用所有的Slave主机实现数据的读取操作。

如果要想在工作之中提升MySQL执行性能,那么肯定单一主机是无法完成所需要的任务的,所以在这种情况下就需要进行多个MySQL主句的实现,那么肯定就要采用主从结构进行处理,在Master节点执行更新处理,而后在所有的Slave节点执行数据的查询处理(前提:没有这么大的并发量)。

在实际的工作环境之中,往往会根据访问量预估的情况进行主从的配置,同时自动同步到Slave,本次考虑到实现问题,所以采用一主一从制,只准备两台主机,实际情况需要自己来选择设置多少台的Slave,同时这样的结构也实现了数据库的热备份处理。

mysql-groupa-master  192.168.28.224

mysql-group-slave    192.168.28.225

1. 如果要进行主从设计,那么在设计之前一定要有如下的几个前提:

》保证所有的Mysql数据库的版本完全相同,使用的时候建议使用稳定版;

》保证所有的主机时间完全同步,所有的时间一定要与国家时间服务器的信息进行同步处理;

》如果电脑上已经启动过了MySQL,那么一定要删除一个配置文件:rm /usr/local/mysql/data/auto.cnf;

2. 如果要想进行主从的同步处理,首先要修改mysql的配置文件:【master】

》打开my.cnf配置文件:vim /usr/local/mysql/my.cnf

》在my.cnf文件中追加如下信息:

log_bin=mysql-bin-a   //进行同步bin配置名称的定义,在从主机上也要使用此名称

server_id=224 //进行服务的id定义,一般都使用IP地址的后三位

3. 完成配置后启动MySQL:

/usr/local/mysql/bin/mysqld_safe --user=root > /dev/null 2>&1 &

4. 登录MySQL客户端:mysql -h127.0.0.1 -uroot -p123456

5. 由于当前是master主机,查询master状态:

show master status ;

程序执行结果会显示:File: mysql-bin-a.000001、Position:120

6. 由Slave连接到Master的MySQL时需要一个账号,进行账号密码的设置:[email protected]%‘

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO [email protected]%‘ IDENTIFIED BY ‘123456‘ ;  //设置账号

FLUSH PRIVILEGES ;  //立即生效

7. 【Slave】在Slave主机上修改my.xnf配置文件,主要是设置bin名称:

》打开my.cnf配置文件:vim /usr/local/mysql/my.cnf

》在my.cnf文件里面追加如下信息内容:

log_bin=mysql-bin-a //与master主机上配置的名称相同

server_id=225 //进行服务id定义,一般都使用IP地址的后三位

8. 【Slave】启动MySQL进程:/usr/local/mysql/bin/mysqld_safe --user=root > /dev/null 2>&1 &

9.  登录MySQL客户端:mysql -h127.0.0.1 -uroot -p123456

10. 设置与Master的从属配置关系:

change master to master_host=‘192.168.28.224‘,master_user=‘sync_guest‘,master_password=‘123456‘,master_log_file=‘mysql-bin-a.000001‘,master_log_pos=120 ;

11. 启动Slave运行状态:start slave ;

12. 查看当前从主机的所有状态:show slave status \G ;

Slave_IO_Running:Yes      //显示如下信息

Slave_SQL_Runninf:Yes

13 在Master上执行sql脚本,查看Master与Slave是否同步:

DROP DATABASE IF EXISTS mldn ;

CREATE DATABASE mldn CHARACTER SET UTF8 ;

use mldn ;

CREATE TABLE member(

mid VARCHAR(50) ,

name VARCHAR(50) ,

age INT ,

salary DOUBLE ,

birthday DATE ,

note TEXT ,

CONSTRAINT pk_mid PRIMARY KEY(mid)

) ;

INSERT INTO member(mid,name,age,salary,birthday,note) VALUES (‘lee‘,‘hello‘,10,2000.0,‘2005-11-11‘,‘very good‘) ;

INSERT INTO member(mid,name,age,salary,birthday,note) VALUES (‘admin‘,‘administrator‘,10,2000.0,‘2005-11-11‘,‘very good‘) ;

INSERT INTO member(mid,name,age,salary,birthday,note) VALUES (‘guest‘,‘administrator‘,10,2000.0,‘2005-11-11‘,‘very good‘) ;

14. 使用SQL命令查看:

show databases ;      //查看数据库

use mldn ;           //使用数据库

show tables ;       //查看数据表

desc member ;          //查看表结构

select * from member ;    //查看数据

原文:https://www.cnblogs.com/luliang888/p/11141092.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值