雙主數據庫配置與應用

                                                                  雙主數據庫mysql

 

 

綜合實驗前提:sql

這裏介紹雙主數據庫,能夠根據雙主數據庫來作單循環數據庫,配置基本相同

 

1.雙主數據庫:數據庫

問題:主鍵衝突:vim

解決方法:等差鏈接ide

 

2.單循環:spa

解決主庫不夠,增長訪問量——單循環rest

單循環無論是幾臺。只要壞一臺,就只有一臺是完整的。日誌

因此通常雙主或者三主就能夠了orm

 

3.一主庫拖8從庫server

 

 

雙主數據庫實驗:

注意:id不能重複

 

兩臺mysqlIP地址

192.168.117.136     192.168.117.137

show master status;

show slave status\G;

【主從數據庫】

1.136主,137

136配置:

mysql -u root -p123

create database lidb;

use mysql;

show tables;

select Host,User,password from user;

insert into mysql.user(Host,User,Password) values('localhost','backli',password('123'));

mysql> select Host,User,password from user;

grant replication slave on *.* to 'backli'@'192.168.117.137' identified by '123';

flush privileges;

exit

 

備份數據庫:

mysqldump -u root -p lidb > lidbbak.sql

 

將備份數據庫傳給另外一臺數據庫

scp lidbbak.sql root@192.168.117.137:/root

 

編輯配置文件:

vim /etc/my.cnf

log-bin=mysql-bin

# binary logging format - mixed recommended

添加:

binlog_format=mixed

binlog_do_db=lidb

binlog_ignore_db=mysql

auto_increment_increment=10

auto_increment_offset=1

 

啓動服務

service mysqld restart

 

137配置另外一臺:

1.建立相同的數據庫,而後還原數據

create database lidb;

source /root/lidbbak.sql

2.編輯配置文件

vim /etc/my.cnf

添加:

log-bin=mysql-bin

replicate_do_db=lidb

replicate_ignore_db=mysql

log_slave_updates=on

server-id       = 2

啓動服務

service mysqld restart

 

3.首先進入master庫,查看二進制日誌問價名稱和偏移量

mysql -u root -p123

show master status;

4.進入slave數據庫,配置鏈接master的IP地址,數據庫用戶,密碼,日誌名稱,偏移量編號,設置拉取同步操做

mysql -u root -p123

slave stop;

 

mysql> change master to

    -> master_host='192.168.117.136',

    -> master_user='backli',

    -> master_password='123',

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

    -> master_log_pos=107;

 

slave start;

show slave status\G;

 

4.驗證:

在主數據master上建立數據庫,而後到slave上看,就會同步過去;

Master:

create table aaa(id int,name char(10));

Query OK, 0 rows affected (0.21 sec)

Slave:

mysql> show tables ;

+----------------+

| Tables_in_lidb |

+----------------+

| aaa            |

+----------------+

1 row in set (0.00 sec)

 

 

 

 

 

【反向主從:】

192.168.117.137爲主master   192.168.117.136爲從slave

137主配置:

1.建立用戶,主機名,密碼,並設置給從庫複製的權限

mysql -u root -p123

insert into mysql.user(Host,User,Password) values('localhost','backli2',password('123'));

grant replication slave on *.* to 'backli2'@'192.168.117.136' identified by '123';

flush privileges;

 

2.編輯配置文件:

vim /etc/my.cnf

binlog_format=mixed

binlog_do_db=lidb

binlog_ignore_db=mysql

auto_increment_increment=10

auto_increment_offset=2

 

啓動服務

service mysqld restart

 

 

136——slave庫配置:

1.編輯配置文件,

vim /etc/my.cnf

添加:

log-bin=mysql-bin

replicate_do_db=lidb

replicate_ignore_db=mysql

log_slave_updates=on

 

2. 首先進入master庫,查看二進制日誌問價名稱和偏移量

mysql -u root -p123

show master status;

 

3. 進入slave數據庫,配置鏈接master的IP地址,數據庫用戶,密碼,日誌名稱,偏移量編號,設置拉取同步操做

 

mysql -u root -p123

slave stop;

 

change master to  master_host='192.168.117.137',master_user='backli2',master_password='123',master_log_file='mysql-bin.000007',master_log_pos=107;

slave start;

 

show slave status\G;

看到雙yes即爲拉取同步成功

 

【雙主數據庫最後的驗證:】

136數據庫上驗證:

mysql  -u  root  -p123

use lidb;

create table test(id int auto_increment primary key,name char(16));

 

insert into test(name) values ('test1');

insert into test(name) values ('test2');

insert into test(name) values ('test3');

 

在137上:

insert into test(name) values ('test4');

insert into test(name) values ('test5');

相關文章
相關標籤/搜索