开发者学堂课程【数据库中间件ShardingSphere详解:ShardingSphere-MySQL 主从配置(1)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/666/detail/11253
ShardingSphere-MySQL 主从配置(1)
MySQL 配置读写分离
刚才提到 Sharding-JDBC 只对里边的这个数据进行操作,而读写分离过程不是它做的,数据同步它也不做,这是都是由 MySQL 会做到的,所以下面在 MySQL 里边,就把这个读写分离的过程是给它配出来。然后最终再用 Sharding-JDBC 实现作业分类中的数据的操作。
下面开始做这个配置。这配置对于它的步骤是比较固定的。我在这个资料里边给大家已经提供出来这个相关的内容。来看在分离中有一个 MySQL 主从复制或者说读写分类一个基本配置,在做的话就可以按照这个课件中步骤把它做到。这里边是一个比较固定过程,那下面按照过程把读写分离在这个电脑中配置出来。那看怎么来做就一步步来实验。
第一步 创建两个 MySQL 数据库服务,并且启动两个MySQL服务
首先第一步,因为 MySQL 可以装在你的 windows 系统中也可以装到 Linux 系统中,它的配置过程都是一样的,没有本质区别。现在以 windows 为例,在 Linux 中都是一样的。那第一步怎么做?因为现在要做读写分离。读写分离至少需要两台数一个服务器。就是做到主从或者说一主多层或者说多组多层,但是它至少需要两台服务器。现在就在我的电脑中创建这么两个 MySQL 数据库的两个实例,或者两个买数据库的物,并且把这物顶起来。并且启动两个 MySQL 数据库服务。这个是要做的第一个事情。
那怎么做进行演示,因为现在数据库在哪里,把电脑计算机的管理打开,然后找到里面那个服务。先看这个到底在哪里,然后给他创建多个税服务。多个的话,就不需要再安装,可以把之前的实例直接复制一下,然后给它改个端口改一些配置就可以启用起来。现在把这个已经打开了,点服务应用程序,然后点这个服务,在里边找到目前 MySQL 服务。在这里,目前是启动状态,然后看这个 MySQL 目前是在D盘的这个位置。那就到D盘里边找 MySQL。
(1)、复制之前的MySQL 目录
在之前MySQL 的情况下,再复制一份 MySQL 改个名字,比如叫 MySQL-s1,因为它是一个重复器,让之前作为主服器。这是第一部分,就是把之前的服务器再复制一份。
(2)、修改复制之后配置文件
1°修改端口号,文件路径
2°需要把数据文件目录再复制一份
[client]
port=3307
# The TCP/IP Port the MySQL Server will listen on
port=3307
#Path to installation directory. All paths are usually resol
basedir="D:/Program Files/MysQL/MysQL Server-s1/"
#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server-s1/Data/"
里边改这个配置文件叫 my.ini。找到里边有定文件。改叫 my.ini 这个文件。建议在改之前最好把这文件备份一下,如果改错是不能改回来,不要说没备份改完之后改错了,又找不到之前是什么内容。工具打开,然后找到在里边有很多东西,需要改几个地方,首先第一个地方,端口号需要改一个,比如 port=3307。改完之后,下面也改成port=3307。这是第一个先改一下端口号。
看这两个地方还有一个数据库,那个基本的路径,还有数据路径,这两路径需要改一下,第一个,就是MySQL 的基本路径叫做MySQL-s1。这个地址,所以把这位置改一下 basedir="D:/Program Files/MysQL/MysQL Server-s1/"。然后还有一个数据目录,但是它的数据目录是在c盘。那现在就找到c盘。注意,这个数据目录它默认这是一个隐藏文件,想把这个隐藏文件打开,然后找到MySQL 之前的数据目录,把这个目录也复制,然后给它也改个名字叫MySQL Server-s1,把这个路径改到里边去 datadir="C:/ProgramData/MysQL/MysQL Server-s1/Data/"
(3)、把复制修改之后从数据库在windows 安装服务
如何安装?里边有一个命令,直接装就可以了,使用一个命令:
mysqld install mysqls1 --defaults-file="D: \mysql-5.7.25-s1\my.ini"
D:\Progran Files \ MySQL\MySQL Server-s1\ bin>mysqld install mysqls1 --defaults-fi
e="D: \Progran Files\MySQL\MySQL Server-s1\my.ini"
Service successfully installed.
这个是杠后面加上重服器那个配置文件的路径。找到这个路径把这路径直接拿过来:mysqld install mysqls1 --defaults-file="D: \Program Files\MySQL\MySQL Server-s1\my.ini"
就是这个地址,然后它叫 my.ini ,现在把这个执行在我的 windows 中安装一个服务,那怎么执行?先进入到它这个 bin 目录。注意,在他的bin 目录中,咱们打开cmd 在窗口,然后把这个 mysqld install mysqls1 --defaults-file="D: \Program Files\MySQL\MySQL Server-s1\my.ini"
直接复制。即使这个安装成功,那这个就完成了。就是在我的window中,安装上一个这样的会启动更加方便。
这个过程这里都写到了,注意你要进入到你这个防服务器的,并路工,然后安装,之后来到这里边刷新,看这位置的两个步骤都有了。之后可以把它做个启动。目前两个数据构服务器都启动的一个用的是3306一个用的是3307 这样的话就完成了,里边的第一步就是创建两个数据服务,并且把它们都顶起来。然后在里边就要改配置文件,一个用的是3306 端口,一个用的是3307 端口。
然后这个做到之后,下面就可以用这个客户端连一下看两幅器是不能连上。如果你想改个名字,你可以把服务删掉,用sc delete的服务名称这个服务可以删掉。这里边可以用之前账号进行登录了,比如说里边第一个,最原始是用的3306 是的主服器,那我现在连接。
这肯定没有问题,都登录过,然后现在比如换成这个叫3307 。看是不是重复器,包括用密码就一样,都是复制过来的,然后把它连接。一打开看,这就是3307 那个端口,因为现在有时候会发现里面内容是不一样。其实都一样,因为里边就是把之前主服务器直接分管的,包括里面的数据,文件也复制过来,所以两个里边目前都是一样,但是现在通过3306、3307 应该都可以连上。
第二步 配置MySQL 主从服务器
这里想要 MySQL 作为主服务器,但注意现在写这两之后在 MySQL 所有中,它并不知道谁是主,谁是从,所以咱需要做个配置谁是主服器,谁是从服务器在里面做这个主从的这么一个配置。
(1)、在主服务器配置文件
[mysqld]
#开启日志
log-bin =mysql-bin
#设置服务id,主从不能一致
server-id = 1
#设置需要同步的数据库
binlog-do-db=user db
#屏蔽系统库同步
binlog-ignore-db = mysql.
binlog-ignore-db=information schema
binlog-ignore-db=performance schena
配置方式是比较固定的,但是要求各位能按照课件把这个能配置出来。首先第一部分,需要在这个主服务器的配置文件中并配置。然后第二个,在这个从服务器的配置文件中并配置就是有主服务器有从服务器。先来到主服务器。就是在MySQL 这个文件,把这个my.ini 打开,然后在里边加上这段话,这个就是你需要开启日志,开启之后能做到数据同步或者数据复制,如果不开启,那没有记录就不能监控到这个内容,所以需要开启日志,然后起一个id 值就是表示你是不同的这个服务器,然后下面这是一个写法,表示你要设置哪些数据库,如果不写就表示所有数据库都同步。
#binlog文件名
log-bin=mysql-bin
#选择row模式
binlog_format=Row
#mysql实例id,不能和canal的slaveId重复
server_id=1
这个是第一个id就是它不能跟别的重复就叫1。然后下面是通过数据库,包括不进行数据库,这是我们加的这段话在你的主服器中进行添加:
#设置需要同步的数据库
binlog-do-db=user db
#屏蔽系统库同步
binlog-ignore-db = mysql.
binlog-ignore-db=information schema
binlog-ignore-db=performance schena
把这段话加上就可以了。这是我们的视频配置。然后加上之后需要在从服务器中也加上这段话就表示它是一个从服务器。
(2)、在从服务器配置文件
#开启日志
log - bin = mysql - bin
#设置服务id,主从不能一致
server -id = 2
#设置需要同步的数据库
replicate_wild_do_table=user_db.%
#屏蔽系统库同步
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%
然后打开从服务器的配置文件。把这段话给它加上就可以了。从服务器应该是里边的my.ini。然后在添加的时候,有一点就是这需要把它id值改上,比如id值和之前是1,就改成2,让他们每个都不一样。这样就完成了里面这个配置。在我的重复中也做了配置。这样的主从配置就做到了。在从服务器中,它就表示你要设置监控哪个数据库,哪些不监控,这样的话完成这个配置。然后下面把主从服务器给它进行启动。
注意,这个id值不能重复。第三步因为要做主从复制,可以专门建个账户做主从复制,然后设置主从复制同步的过程就是通过这个dlg让它去监控同步配置。
#binlog文件名
log-bin=mysql-bin
#选择row模式
binlog_format=Row
#mysql实例id,不能和canal的slaveId重复
server_id=1
#设置需要同步的数据库
replicate_wild_do_table=user_db.
#屏蔽系统库同步
replicate_wild_ignore_table=mysql.
replicate_wild_ignore_table=information_schema.
replicate_wild_ignore_table=performance_schema.


