@yanglt7
2018-10-21T15:56:59.000000Z
字数 6400
阅读 825
Web集群实战
概述
主从复制原理重点小结
[root@ylt001 ~]# ss -lnt|grep 330LISTEN 0 50 *:3307 *:*LISTEN 0 50 *:3308 *:*LISTEN 0 50 *:3306 *:*
[root@ylt001 ~]# cd /data/3306[root@ylt001 3306]# vi my.cnf[mysqld]server-id = 1log-bin = /data/3306/mysql-bin[root@ylt001 3306]# egrep "server-id|log-bin" my.cnfserver-id = 1log-bin=/data/3306/mysql-bin[root@ylt001 3306]# /data/3306/mysql restartRestarting MySQL...Stopping MySQL...Starting MySQL...[root@ylt001 3306]# mysql -uroot -ppassword -S /data/3306/mysql.sockmysql> show variables like 'server_id';+---------------+-------+| Variable_name | Value |+---------------+-------+| server_id | 1 |+---------------+-------+1 row in set (0.00 sec)mysql> show variables like 'log_bin';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_bin | ON |+---------------+-------+1 row in set (0.00 sec)mysql> quitBye
[root@ylt001 3306]# mysql -uroot -ppassword -S /data/3306/mysql.sockmysql> grant replication slave on *.* to 'rep'@'192.168.2.%' identified by 'password';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> select user,host from mysql.user;+------+-------------+| user | host |+------+-------------+| root | 127.0.0.1 || rep | 192.168.2.% || root | localhost |+------+-------------+3 rows in set (0.00 sec)mysql> select user,host from mysql.user where user='rep';+------+-------------+| user | host |+------+-------------+| rep | 192.168.2.% |+------+-------------+1 row in set (0.00 sec)mysql> show grants for rep@'192.168.2.%';+--------------------------------------------------------------------------------------------------------------------------+| Grants for rep@192.168.2.% |+--------------------------------------------------------------------------------------------------------------------------+| GRANT REPLICATION SLAVE ON *.* TO 'rep'@'192.168.2.%' IDENTIFIED BY PASSWORD '*91F687E9EA9F80F26008D0CA416D9C233B14C9E3' |+--------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)
mysql> flush table with read lock;Query OK, 0 rows affected (0.00 sec)mysql> show variables like '%timeout%';+----------------------------+----------+| Variable_name | Value |+----------------------------+----------+...| interactive_timeout | 28800 |...| wait_timeout | 28800 |+----------------------------+----------+10 rows in set (0.00 sec)mysql> show master status;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000001 | 664 | | |+------------------+----------+--------------+------------------+1 row in set (0.00 sec)[root@ylt001 3306]# mkdir -p /server/backup/[root@ylt001 3306]# mysqldump -uroot -ppassword -S /data/3306/mysql.sock --events -A -B |gzip >/server/backup/mysql_bak.$(date +%F).sql.gz[root@ylt001 3306]# ls -l /server/backup/mysql_bak.$(date +%F).sql.gz-rw-r--r-- 1 root root 155029 Sep 30 21:03 /server/backup/mysql_bak.2018-09-30.sql.gz[root@ylt001 3306]# mysql -uroot -ppassword -S /data/3306/mysql.sock -e"show master status"+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000001 | 664 | | |+------------------+----------+--------------+------------------+
mysql> unlock tables;Query OK, 0 rows affected (0.00 sec)
[root@ylt001 ~]# cd /data/3307[root@ylt001 3307]# vi my.cnf[mysqld]server-id = 3#log-bin = /data/3307/mysql-bin[root@ylt001 3307]# egrep "server-id|log-bin" my.cnfserver-id = 3#log-bin=/data/3307/mysql-bin[root@ylt001 3307]# /data/3307/mysql restartRestarting MySQL...Stopping MySQL...Starting MySQL...[root@ylt001 3307]# mysql -uroot -ppassword -S /data/3307/mysql.sockmysql> show variables like 'server_id';+---------------+-------+| Variable_name | Value |+---------------+-------+| server_id | 3 |+---------------+-------+1 row in set (0.00 sec)mysql> show variables like 'log_bin';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_bin | OFF |+---------------+-------+1 row in set (0.00 sec)mysql> quitBye
[root@ylt001 3306]# cd /server/backup/[root@ylt001 backup]# lltotal 152-rw-r--r-- 1 root root 155029 Sep 30 21:03 mysql_bak.2018-09-30.sql.gz[root@ylt001 backup]# gzip -d mysql_bak.2018-09-30.sql.gz[root@ylt001 backup]# lltotal 552-rw-r--r-- 1 root root 561654 Sep 30 21:03 mysql_bak.2018-09-30.sql[root@ylt001 backup]# mysql -uroot -ppassword -S /data/3307/mysql.sock <mysql_bak.2018-09-30.sql
[root@ylt001 data]# mysql -uroot -ppassword -S /data/3307/mysql.sockmysql> reset slave;Query OK, 0 rows affected (0.00 sec)mysql> CHANGE MASTER TO MASTER_HOST='192.168.2.188', MASTER_PORT=3306, MASTER_USER='rep', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=664;Query OK, 0 rows affected (0.01 sec)mysql> quitBye[root@ylt001 data]# cat master.info18mysql-bin.000001664192.168.2.188reppassword3306600...
[root@ylt001 data]# mysql -uroot -ppassword -S /data/3307/mysql.sock -e"start slave;"[root@ylt001 data]# mysql -uroot -ppassword -S /data/3307/mysql.sock -e"show slave status\G;"[root@ylt001 data]# mysql -uroot -ppassword -S /data/3307/mysql.sock -e"show slave status\G;"|egrep "IO_Running|SQL_Running|_Behind_Master"Slave_IO_Running: YesSlave_SQL_Running: YesSeconds_Behind_Master: 0
[root@ylt001 data]# mysql -uroot -ppassword -S /data/3306/mysql.sock -e"create database ylt;"[root@ylt001 data]# mysql -uroot -ppassword -S /data/3307/mysql.sock -e"show databases like 'ylt';"+----------------+| Database (ylt) |+----------------+| ylt |+----------------+[root@ylt001 data]# mysql -uroot -ppassword -S /data/3306/mysql.sock -e"drop database ylt;"[root@ylt001 data]# mysql -uroot -ppassword -S /data/3307/mysql.sock -e"show databases like 'ylt';"