开发者学堂课程【数据库中间件ShardingSphere详解:ShardingSphere-MySQL 主从配置(2)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/666/detail/11254
ShardingSphere-MySQL 主从配置(2)
MySQL 配置读写分离
第二步 配置MySQL 主从服务器
(1)、在主服务器配置文件
(2)、在从服务器配置文件
(3)、把主和从服务器重启
第三步 创造用于主从复制的账号
首先将主从服务器停掉,停止之后,把主服务器先进行启动,然后再启动从服务器,所以现在两服务器都启动了。下面进行第三步,往下进行,现在要做的是主从复制或者说是主从数据的一个同步,这个时候为了更方便,就会专门建立一个账号,主从账号,账号创建代码:
#切换至主库bin目录,登录主库
mysql -h localhost -uroot -p
#授权主备复制专用账号
GRANT REPLICATION SLAVE ON *.* TO 'db sync'@'%' IDENTIFIED BY 'db sync';
#刷新权限
FLUSH PRIVILEGES;
#确认位点记录下文件名以及位点
show master status;
如何创建?第一步,连上我们的主服务器是3306,然后连上后在主服务器里面利用命令用来创建一个账号,比如账号名字设置成 db sync。建完账号之后用一个FLUSH PRIVILEGES 进行刷新一下记录账号。这个账号应该是之前创建过,创建过后在 MySQL 里面的user 里面会有账号,默认是没有的,各位按照命令自己创建专用账号。 创建之后就去确认一下主服务器的状态用 show master status来查看。
特别强调几个值,第一个叫 file 是编辑 bin日志的功能,利用从服务器,监控第一个文件对数据库的变化,为了一会儿能用到,先进行复制。
这个命令能看到当前它生成的 bin log 日志的内容,并且里面的名字,值,数据库都会列出来,这就是第三步。
第四步 主从数据同步设置
在里面也是执行一系列的命令,这些命令看一下,不需要记。
第一步切换到 bin 目录,登录从服务器,在从服务器中先停止同步,然后停止之后设置当前主机,账号包括里面的密码,另外在主服务器中 bin log 的名字还有值,最终执行,执行之后再开始同步,这样就完成了主从数据的同步设置。
#切换至从库bin目录,登录从库
mysql -h localhost -P3307 -uroot -p
#先停止同步
STOP SLAVE;
#修改从库指向到主库,使用上一步记录的文件名以及位点
CHANGE MASTER TO
master_host = 'localhost',
master_user ='db_sync',
aster password = 'db_sync',
master_log_file = 'mysq1-bin.000002',
master log pos = 154;
#启动同步
START SLAVE;
#查看从库状态 Slave_IO Runing 和 Slave_SQL_Runing 都为 Yes 说明同步成功,如果不为 Yes. 请检意 error_log. 然后排查相关异常。
show slave status
然后切换之后在从服务器中先停止,把这个先做一个执行。然后停止之后怎么做呢?在下面执行里边的这么几段话
master_host = 'localhost',
master_user ='db_sync',
aster password = 'db_sync',
master_log_file = 'mysq1-bin.000002',
master log pos = 154;
复制过来,然后给它做一个执行。然后这里边需要改几个地方log这是用户密码,把文件的名字改成我们这个通过主服务器看到这个值是107,现在把这个部分给他执行下,这就是一个具体的设置,执行之后,下面就开始启动同步。
#启动同步
START SLAVE;
#查看从库状态 Slave_IO Runing 和 Slave_SQL_Runing 都为 Yes 说明同步成功,如果不为Yes.请检意 error_log.然后
排查相关异常。
show slave status
现在就完成了一个数据同步的操作,启动之后,可以看一下目前这同步是否生效的。看用这个命令显示当前一个状态。来执行一下,注意,这里边有一个内容,一些数据,数据中指的是你当前刚才设的这几个值,然后再看后面的两个地方。这个一个叫 Slave_IO Runing,一个叫 Slave_SQL_Runing,如果这两值都变成了yes,那就表示设置成功。如果两值中有一个值不是 yes那表示你失败,但目前两值表示yes。所以设置主从数据同步就是这么做。
这里边也特别标注到了,如果之前这从数据库也只用了别的主数据库,那需要把之前东西给它清空掉,然后再重新做这操作,由这个基本命令,是针对关于主从数据同步的设置完成了!
通过这个测试,把最终点出来。这就是 MySQL 中主从复制的一个配置。最后要做的事情就是用 Sharding-JDBC 把这个数据做操作。而 Sharding-JDBC 中强调并不做主从复制,主从复制是由 MySQL 做到的,而它做的是什么?根据语义,当你做查询它当我们从服务器,当你做增加,删除它做主服务器。
