Liunx环境下配置mysql数据库主从复制
环境:Linux服务器 * 2需要两个数据节点可以相互Ping通,打开防火墙端口主从复制是为了在高并发下对数据库的读写分离,增删改由主数据库进行操作,查由从数据库进行操作,主服务器在进行数据变更后,从数据库会进行获取住数据库的binglog,读取增删改的内容,并同步到本地服务器主服务器配置配置数据库配置文件my.cnf; 找不到my.cnf 就find / -name my.cnf...
·
环境:Linux服务器 * 2
需要两个数据节点可以相互Ping通,打开防火墙端口
- 主从复制是为了在高并发下对数据库的读写分离,增删改由主数据库进行操作,查由从数据库进行操作,主服务器在进行数据变更后,从数据库会进行获取住数据库的binglog,读取增删改的内容,并同步到本地服务器
主服务器配置
-
配置数据库配置文件my.cnf; 找不到my.cnf 就find / -name my.cnf 找到后继续修改内容
-
vim /etc/my.cnf 配置数据库my.cnf配置文件信息
server-id=1 log-bin=master-bin log-bin-index=master-bin.index
-
保存后,重启数据库.centos7:systemctl restart mysqld;
-
进入数据库 mysql -u 用户名 -p 输入密码;
-
show master status;查看主服务器状态
-
为从数据库赋权
grant replication slave on *.* to username@'ip' identified by 'password';
-
重启数据库 systemctl restart mysqld;
从数据库配置
- 配置数据库配置文件my.cnf,vim /etc/my.cnf
server-id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-bin
- 保存后,重启数据库.centos7:systemctl restart mysqld;
- 连接master
change master to master_host='ip',master_port=3306,master_user='username',master_password='password',master_log_file='master-bin.000001',master_log_pos=700;
- master_host:ip地址
- master_port:端口号
- master_user:用户名
- master_password:密码
- master_log_file:master的binlog文件名,在主服务器的show master status中
- master_log_pos:主服务器的show master status中的position
- 开启同步 start slave
- 关闭同步 stop slave
- 查看同步状态 show slave status\G 不要加 ';
- Slave_IO_Running: Yes Slave_SQL_Running: Yes 表示成功了;
测试
- 主服务器创建一个数据库,创建表插入数据,使用第三方工具创建或者使用代码进行数据插入,查看从数据库,会发现从数据库中也存在刚创建的数据库和插入的数据
更多推荐
已为社区贡献1条内容
所有评论(0)