从属关系mysql_MySQL读写分离

从属关系mysql_MySQL读写分离使用主从设计的最大优势在于可以利用所有的 Slave 主机实现数据的读取操作 如果要想在工作之中提升 MySQL 执行性能 那么肯定单一主机是无法完成所需要的任务的 所以在这种情况下就需要进行多个 MySQL 主句的实现 那么肯定就要采用主从结构进行处理 在 Master 节点执行更新处理

大家好,我是讯享网,很高兴认识大家。

使用主从设计的最大优势在于可以利用所有的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 -p

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 ‘‘ ;  //设置账号

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 -p


讯享网

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

change master to master_host=‘192.168.28.224‘,master_user=‘sync_guest‘,master_password=‘‘,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

小讯
上一篇 2025-03-28 13:12
下一篇 2025-04-05 17:00

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/49974.html