1.修改master配置my.ini
[mysqld]
log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id=1
sync_binlog=1
binlog_format=mixed
binlog-do-db=wzk
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
2.运行命令,授权给从服务器连接到主服务器的用户名和密码
GRANT REPLICATION SLAVE ON *.*TO 'root'@'127.0.0.1' IDENTIFIED BY '';
3.查看主服务器的状态
4.修改从服务器的配置和端口
[mysqld]
server-id=2
port=3307
log-bin=mysql-bin
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
sync_master_info=1
sync_relay_log=1
sync_relay_log_info=1
5.启动从服务器,连接从服务器
6.设置从服务器连接主服务器的信息和日志指针位置
change master to master_host='127.0.0.1',master_user='root',master_port=3306,master_password='',master_log_file='mysql-bin.000002',master_log_pos=326;
查看从服务的配置状态
show slave status \G;
如果Slave_IO_Running:No
则可能原因是(也可能是其他原因):
查看日志PC-20160712ZJIE.err(不同电脑的可能名称不同)
报错:
[ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593
解决方法是:
文件auto.cnf中的server-uuid和主数据库的一样,随便修改一位即可。
查看从服务的配置状态
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
则代表成功。
6.在主数据库操作test库,在从服务器能看到同步效果。
7.配置读写分离,用mysql-porxy
8.建立一个conf文件夹和mysql-porxy.conf
[mysqld]
log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id=1
sync_binlog=1
binlog_format=mixed
binlog-do-db=wzk
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
9.启动代理服务
mysql-proxy -P 127.0.0.1:4040 --defaults-file=C:/JavaSofts/mysql-proxy-0.8.5-windows-x86-32bit/conf/mysql-proxy.conf
10.将java数据库连接mysql的url替换即可
mysql.url=jdbc:mysql://localhost:3306/wzk
替换
mysql.url=jdbc:mysql://localhost:4040/wzk