数据库配置读写分离(linux)
1.设置主数据库(提供增删改操作)
1.1 进入linux换进mysql,执行如下命令
#进入数据库
mysql -uroot -p****
1.2 执行如下命令
create user 'zhangsan'@'%' identified by '123456';#创建用户
grant replication slave on *.* to 'zhangsan'@'%';#分配主从复制权限
flush privileges;# 权限刷新
1.2 修改写数据库配置文件( 文件路径:/etc/my.cnf )
#在[mysqld]下加入以下配置
[mysqld]
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index
3.在数据库中执行如下命令
#退出数据库,重启MySQL
systemctl stop mysqld;
systemctl start mysqld;
# 进入数据库查询master状态
show master status;
拿到如下信息:
4.配置从数据库( 文件路径:/etc/my.cnf )
#在[mysqld]下加入以下配置
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
重启数据库(从库)
#退出数据库,重启MySQL
systemctl stop mysqld;
systemctl start mysqld;
#进入数据库
#执行如下命令
stop slave;
CHANGE MASTER TO
MASTER_HOST='192.168.153.130',
MASTER_USER='root',
MASTER_PASSWORD='root',
MASTER_LOG_FILE='master-bin.000001',
MASTER_LOG_POS=120;
start slave;
5.对主库进行操作,会自动同步到从库,但是从库操作不会到主库中,避免误操作可以在从库创建一个只读权限的用户
# 在从库执行设置只读用户
# 只读用户:readUser
create user 'readUser'@'%' identified by '123456';#创建用户
# 给用户添加权限(所有库所有表*.*)
grant select on *.* to 'readUser'@'%' identified by '123456';
flush privileges;# 权限刷新
|