linux配置 数据库主从同步

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

例如:

主库:192.168.0.1

从库:192.168.0.2

两个数据库都安装了Mysql数据库,保证允许远程连接

主数据库配置

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

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

2.重启数据库

systemctl mysql restart

3.登录主库

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;

6、查看主库信息

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数据主从同步失败解决方案

猜你喜欢

转载自www.cnblogs.com/wuheng1991/p/10000879.html