linux配置 数据库主从同步

数据库的读写分离能很大程度上减轻数据库的压力,读写分离的前提就是主从数据同步,而后在主库作增删改,从库作查询。html

例如:mysql

主库:192.168.0.1sql

从库:192.168.0.2数据库

两个数据库都安装了Mysql数据库,保证容许远程链接服务器

主数据库配置yii2

1.修改mysql配置文件 /etc/my.cnf,这部分必定要配置在[mysqld]后面yii

[mysqld] 
log-bin=mysql-bin  
server-id=1      //设置数据库服务器惟一ID,这里咱们指定为1。
binlog-do-db=hyii2  //设置须要同步的数据库,若是须要设置多个,则加入多条这行语句。

2.重启数据库ide

systemctl mysql restart

3.登陆主库post

mysql -u root -p //而后输入密码登陆

4.进入数据库以后给主数据库受权一个能够进行复制的用户,执行以下命令:测试

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

注意:用户名slave和密码123456能够自定义

5.查看是否建立成功,命令以下

mysql> use mysql;
mysql> select user,host from user;

六、查看主库信息

mysql> show master status;

注意:记录下这些值,在从库配置的时候要用到

7.迁移数据,将主库的hyii2数据复制到从库,保证主从库拥有两个同样的数据库hyii2

从数据库配置

1.链接从库,修改mysql配置文件 /etc/my.cnf,这部分必定要配置在[mysqld]后面

[mysqld]
log-bin=mysql-bin
server-id=2
replicate-do-db=hyii2
master-host=192.168.0.2
master-user=slave
master-password=123456

 

 2.登陆到从库的数据库,作同步设置(此处要用到上面6中记录的数据)

mysql> slave stop; //先关闭库服务

mysql> change master to 
master_host='192.168.0.2',
master_user='slave',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=392;

mysql> slave start; //启动库服务

注意:语句中的逗号不要有空格,能够连在一块儿写,(为了方便阅读作了换行),语句中的slave不是用户名

3.测试同步结果

在主库hyii2中新建一个表test,而后看下从库是否相应生成对应的test表,若是生成了那么恭喜你,主从同步配置就成功了。

來源:http://www.yii-china.com/post/detail/283.html

 mysql数据主从同步失败解决方案

相关文章
相关标签/搜索