Ubuntu配置Mysql主从数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu配置Mysql主从数据库相关的知识,希望对你有一定的参考价值。

参考技术A 本次环境:虚拟机下
服务器:Ubuntu
14.04
LTS
数据库:
5.5.37
端口:3306
主IP:192.168.63.133
从IP:192.168.63.134
授权账号:
user:suxh
password:111111
好了交代完环境:我们直接配置:
第一步:主从两台服务器要有同样的数据库(需要同步的)这里用的是backup
数据库(不多说了,在同步开始前,把主库的复制一份到从库就行了)
第二步配置主(master)数据库
编辑/etc/my.cnf
主要是开启二进制日志
和设置要同步的数据库
等一些参数
#
binary
logging
format
-
mixed
recommended
binlog_format=mixed
binlog-ignore-db=mysql
binlog-do-db=backup
#
required
unique
id
between
1
and
2^32
-
1
#
defaults
to
1
if
master-host
is
not
set
#
but
will
not
function
as
a
master
if
omitted
server-id
=
1

参数解释下:
server-id
这个是唯一的不能跟从服务器相同。
binlog_format
二进制文件的格式
binlog_ignore-db
忽略的数据库
binlog-do-db
要同步的数据库
设置完了以后
重启数据库就可以了。
第三步从数据库:
同样修改/etc/my.cnf
在mysql
版本5.1.7
不支持master-host”类似的参数;
所以这里只要配置server-id=2
就可以了
然后登陆从数据库设置
change
master
to
master_host='192.168.63.133',
master_user='suxh',
master_password='111111';
slave
start;

基本配置就好了。这是我的简要笔记。

ubuntu16配置mysql5.7主从同步

测试环境如下:

  master: 10.0.0.26

  slave01: 10.0.0.27

  slave02: 10.0.0.28

 

一、三台机安装mysql-server5.7

 

$ sudo apt-get update

$ sudo apt-get install -y mysql-server

 

二、配置主从同步

 

  1、 master配置

    1) 修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnf   

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
log-bin=mysql-bin
server-id=26

#注释掉下面一行
#bind-address        =127.0.0.1     

 

    2) 重启mysql服务

$ sudo service mysql restart

 

    3) 添加同步帐号

#进入数据库
$ mysql -uroot -p

#数据库配置
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’IDENTIFIED BY ‘123456’;

#使配置生效
mysql> flush privileges;
mysql> exit

 

    4) 安装插件,并启动半同步复制

#进入数据库
$ mysql -uroot -p

#同步安装插件
mysql> install plugin rpl_semi_sync_master soname ‘semisync_master.so’;
mysql> set global rpl_semi_sync_master_enabled=ON;
mysql> flush privileges;

# 查看master是否开启同步复制
mysql> show status like ‘%semi%’;

#查看master状态,slave要用到
mysql> show master status;

 

  2、 两台slave配置

    1) 修改配置文件

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
log-bin=mysql
server-id=27                  //另一台server-id=28

#注释掉下面一行
#bind-address        =127.0.0.1

 

    2) 重启mysql服务

$ sudo service mysql restart

 

    3) 数据库配置

#进入数据库
$ mysql -uroot -p

#安装同步插件
mysql> install plugin rpl_semi_sync_slave soname ‘semisync_slave.so‘;
mysql> set global rpl_semi_sync_slave_enabled=ON;
mysql> flush privileges;

#查看从库是否开启同步复制
mysql> show status like ‘%semi%’;

#连接master
mysql> change master to master_host=‘10.0.0.26‘,
    -> master_user=‘repl‘,
    -> master_password=‘123456‘,
    -> master_log_file=‘mysql-bin.000001‘,
    -> master_log_pos=741;

mysql> flush privileges;
mysql> start slave;
mysql> show slave status\G

 

PS:查看slave状态时,选项中的Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 就代表同步设置成功。

以上是关于Ubuntu配置Mysql主从数据库的主要内容,如果未能解决你的问题,请参考以下文章

MySQL Ubuntu 主从同步配置

ubuntu16配置mysql5.7主从同步

MySQL主从同步配置(Ubuntu)

MySQL 主从服务器配置

Mysql主从配置

mysql主从复制笔记