master-slave(Replication)主从配置

很文博客hinven.com 2021年11月25日08:18:09数据库评论1561291字阅读模式

在主机master中对test数据库进行sql操作,再查看从机test数据库是否产生同步。

一主一从:

Master:

OS:centos release 5.6 DB:mysql 5.5.8 IP:192.168.1.2

Slave:

OS:centos release 5.6 DB:mysql 5.5.8 IP:192.168.1.3

修改主机Master配置文件 (/etc/my.cnf)

  1. [mysqld]
  2. //至少要有server-id、与log-bin两项
  3. server-id=1
  4. log-bin=/var/lib/mysql/mysql-bin
  5. datadir=/var/lib/mysql
  6. //为了使用事务的InnoDB在复制中最大的持久性和一致性,你应该指定innodb_flush_log_at_trx_commit=1,sync_binlog=1选项
  7. innodb_flush_log_at_trx_commit=1
  8. sync_binlog=1

在主机Master创建一个有复制权限的用户

mysql>create user repl_user@192.168.1.3;

mysql>grant replication slave on *.* to repl_user@192.168.1.3 identified by '123456';

锁住主机,记录二进制日志的位置(后面设置从机的时候会用到)

mysql>flush tables with read lock;

mysal>show master status;

File:mysql-bin.000013 Position:7863951

复制主机数据库(test)到从机

shell>/usr/bin/mysqldump test -uroot -padmin --opt | mysql test -uroot -padmin -h 192.168.1.3

重新打开主机Master写操作功能

mysql>unlock tables;

 

修改从机Slave配置文件(/etc/my.cnf)

  1. [mysqld]
  2. server-id=2 //必须是1到2的32次方之间的一个整数,且必须和主机Master的server-id不一样
  3. relay-log-index=slave-relay-bin.index
  4. relay-log=slave-relay-bin
  5. replicate-do-db=test //指定复制数据库
  6. datadir=/var/lib/mysql

从机Slave初始化复制

mysql>slave stop;

mysql>change master to master_host='192.168.1.2',

->master_user='repl_user',

->master_password='123456',

->master_log_file='mysql-bin.000013',

->master_log_pos=7863951;

开启复制

mysql>start slave;

查看复制状态

mysql>show slave status\G

测试复制:

在主机master中对test数据库进行sql操作,再查看从机test数据库是否产生同步。

weinxin
扫一扫更精彩
大家的支持是我更新的动力!!!
MySQL,大小写 数据库

MySQL,大小写

修改MySql Server安装目录下的 my.ini 文件,在mysqld节下加入下面一行 set-variable=lower_case_table_names=0 (0:大小写敏感;1:大小写不...
广告也精彩
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定