Mysql集群-----(04) Mysql主从复制(读写分离)

主(写)数据库配置

[client]

# 设置客户端默认编码
default-character-set=utf8


[mysqld]
#设置服务端的默认编码
character_set_server=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# 设置SQL模式,可参考:https://blog.csdn.net/afgasdg/article/details/79807498
# 创建用户必须要指定密码,表的引擎不可用则抛出错误
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# 开启二进制日志
log-bin=master-bin
#使用二进制日志的索引文件
log-bin-index=master.bin.index
#为服务器添加唯一的编号
server-id=11
  1. 设置SQL模式 https://blog.csdn.net/afgasdg/article/details/79807498
  2. 查看Mysql编码命令
mysql> show variables like 'charater%';

从(读)数据库配置

[client]
# 指定默认编码
default-character-set=utf8

[mysqld]

# 服务端默认编码
character_set_server=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# 创建用户必须要指定密码,表的引擎不可用则抛出错误
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# 指定从日志文件
relay-log=slave-relay-log-bin
relay-log-index=slave-relay-log-bin.index
#指定服务器ID
server-id=12

配置步骤

1. 按照上面的配置修改完my.cnf之后重启mysql

systemctl restart mysqld.service

2. 在主服务器上添加同步用户

2.1 创建用户

mysql> create user test;

2.2 设置权限

mysql>  grant replication slave on *.* to test@'%' identified by '123456';

2.3 刷新权限

mysql> flush privileges;

2.4查看master状态

mysql> SHOW MASTER STATUS;

3. 从服务器配置master信息

3.1 从配置master信息

# 可选参数 master_log_file=日志文件,master_log_pos=502(日志文件同步点)
mysql>  change master to master_host='192.168.1.101',master_port=3306,master_user='test',master_password='123456';

具体的change master 语法参看:https://dev.mysql.com/doc/refman/5.7/en/change-master-to.html

3.2 启动slave

mysql> start slave;

查看配置信息状态:

mysql>   show slave status\G;

正常结果:

如果无法连接:参考解决方案

测试

1. 主数据库执行

mysql> create database qqt character set=utf8;

2. 从数据库执行

mysql> show databases;

猜你喜欢

转载自blog.csdn.net/afgasdg/article/details/79808614