[mysqld] #设置3307端口 port = 3307 # 设置mysql的安装目录 basedir=D:\mysql‐5.7.25‐s1 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql‐5.7.25‐s1\data
然后将从库安装为 windows 服务,注意配置文件位置:
D:\mysql‐5.7.25‐s1\bin>mysqld install mysqls1 ‐‐defaults‐file="D:\mysql‐5.7.25‐s1\my.ini" 删除服务命令 sc delete 服务名称
由于从库是从主库复制过来的,因此里面的数据完全一致,可使用原来的账号、密码登录。 第二步 修改主、从库的配置文件新增内容如下: 主库 my,ini
[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_schema
从库 my.ini
[mysqld] #开启日志 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.%
重启主库和从库 第三步 创建用于主从复制的账号
#切换至主库bin目录,登录主库 mysql ‐h localhost ‐uroot ‐p #授权主备复制专用账号 GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'%' IDENTIFIED BY 'db_sync'; #刷新权限 FLUSH PRIVILEGES; #确认位点 记录下文件名以及位点 show master status;
第四步 设置从库向主库同步数据
#切换至从库bin目录,登录从库 mysql ‐h localhost ‐P3307 ‐uroot ‐p #先停止同步 STOP SLAVE; #修改从库指向到主库,使用上一步记录的文件名以及位点 CHANGE MASTER TO master_host = 'localhost', master_user = 'db_sync', master_password = 'db_sync', master_log_file = 'mysql‐bin.000002', master_log_pos = 154; #启动同步 START SLAVE; #查看从库状态Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不为Yes,请检查 error_log,然后 排查相关异常。 show slave status #注意 如果之前此从库已有主库指向 需要先执行以下命令清空 STOP SLAVE IO_THREAD FOR CHANNEL ''; reset slave all;
Sharding-JDBC 读写分离配置
# 增加数据源s0,使用上面主从同步配置的从库。 spring.shardingsphere.datasource.names = m0,m1,m2,s0 ... spring.shardingsphere.datasource.s0.type = com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.s0.driver‐class‐name = com.mysql.jdbc.Driver spring.shardingsphere.datasource.s0.url