【原創】數據庫基礎之Mysql(2)主從庫配置

一 安裝

# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# yum -y install mysql57-community-release-el7-10.noarch.rpm
# yum -y install mysql-community-servermysql

# systemctl start mysqld.servicesql

# grep "password" /var/log/mysqld.log
2019-01-28T07:35:19.672300Z 1 [Note] A temporary password is generated for root@localhost: %ym?OT&<k9kB服務器

# mysql -uroot -p%ym?OT&<k9kB
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '$newpass';spa

二 主從配置

1 master

# vi /etc/my.cnf
[mysqld]
server-id=1
log-bin=master-bin
log-bin-index=master-bin.indexrest

mysql>create user 'repl'@'%' IDENTIFIED BY 'repl';
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';server

# service mysqld restart內存

mysql> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 | 77411 | | | |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)rem

2 slave

# vi /etc/my.cnf
[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-biget

# service mysqld restart同步

mysql> change master to master_host='$master_server',master_port=3306,master_user='repl',master_password='repl',master_log_file='master-bin.000001',master_log_pos=0;
mysql> start slave;

mysql> show slave status;

若是主庫開啓binlog或者配置從庫前主庫已經有數據,須要手工同步數據到從庫,而後再開啓主從同步,同步過程爲

1 master

mysql > flush tables with read lock;
mysql > show master status;
get $pos

# mysqldump -uroot -p --all-databases > mysql_dump.sql

mysql > unlock tables;

2 slave

# mysql -uroot -p < mysql_dump.sql

mysql > change master to ... master_log_pos=$pos
mysql > start slave;
mysql > show slave status;

 

ps:主庫最少512m內存,從庫最少256m內存;

 

還有一種雙主配置,即兩臺服務器互爲主從,爲了不數據衝突,須要將二者的自增id區分(兩臺就是一奇一偶):

server1:
auto_increment_offset = 1
auto_increment_increment = 2

server2:auto_increment_offset = 2auto_increment_increment = 2

相關文章
相關標籤/搜索