單機多實例MYSQL主從復制


  今天有時間寫寫,不然心坎里總有點不爽。單機多實例一直都是屌絲的處事風格。。。

實驗環境

  RHEL6.5  

  172.24.0.130  3306

  172.24.0.130  3307

01、本次采用的MYSQL二進制快速安裝

下載地址:

https://dev.mysql.com/downloads/mysql/

http://pan.baidu.com/s/1qYI0ybq

http://pan.baidu.com/s/1pLHM2TH 密碼: pg5t

#截圖操作

#根據需求選擇對應的版本

 

02、解壓並建立數據目錄

tar zxf xxx.tar.gz    -C /tmp

mkdir  -p {data_3306,data3307}     #存放數據

mkdir  conf                                    #放my.cnf

03、修改配置文件my.cnf

#3306my.cnf

[client]
default-character-set=utf8    #客戶端連接編碼

[mysql]
auto-rehash                   #客戶端tab補全
default-character-set=utf8    #編碼

[mysqld]
user=mysql #運行賬戶 port
=3306  #定義端口 log-bin=mysql-bin  #開啟二進制日志 server-id=001  #定義服務ID max_allowed_packet=50M ###最大 wait_timeout=3600 ###等待超時默認s interactive_timeout=3600 ###活動超時 innodb_buffer_pool_size = 128M join_buffer_size = 128M sort_buffer_size = 2M read_rnd_buffer_size = 2M basedir=/tmp/mysql_mulit  #MYSQL根目錄 datadir=/tmp/mysql_mulit/data_3306  #MYSQL數據存放目錄 socket=/tmp/3306_mysql.sock  #套接字 init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8  #定義數據庫默認字符 server\collation collation-server=utf8_unicode_ci skip-character-set-client-handshake symbolic-links=0 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names = 0 #對表的大小寫不敏感
[mysqld_safe] log
-error=/tmp/3306_err.log #錯誤日志 pid-file=/tmp/mysql_mulit/data_3306/mysqld.pid  #pid,多協議通信 tcp/sock

3307my.cnf

[client]
default-character-set=utf8    #客戶端連接編碼

[mysql]
auto-rehash                   #客戶端tab補全
default-character-set=utf8    #編碼

[mysqld] 
user=mysql port
=3307 #定義端口 log-bin=mysql-bin #開啟二進制日志 server-id=011 #定義服務ID max_allowed_packet=50M ###最大 wait_timeout=3600 ###等待超時默認s interactive_timeout=3600 ###活動超時 innodb_buffer_pool_size = 128M join_buffer_size = 128M sort_buffer_size = 2M read_rnd_buffer_size = 2M basedir=/tmp/mysql_mulit #MYSQL根目錄 datadir=/tmp/mysql_mulit/data_3307 #MYSQL數據存放目錄 socket=/tmp/3307_mysql.sock #套接字 init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 #定義數據庫默認字符 server\collation collation-server=utf8_unicode_ci skip-character-set-client-handshake symbolic-links=0 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES lower_case_table_names = 0 #對表的大小寫不敏感 [mysqld_safe] log-error=/tmp/3307_err.log #錯誤日志 pid-file=/tmp/mysql_mulit/data_3307/mysqld.pid #pid,多協議通信 tcp/sock

04、初始化數據庫

./scripts/mysql_install_db  --defaults-file=conf/3306my.cnf

./scripts/mysql_install_db  --defaults-file=conf/3306my.cnf

05、啟動數據庫

./bin/mysqld_safe --defaults-file=conf/3306my.cnf &

./bin/mysqld_safe --defaults-file=conf/3307my.cnf &

06、初始化root密碼

./bin/mysqladmin   -P 3306 -u root password '123123'

./bin/mysqladmin   -P 3307 -u root password '123123'

07、master主機設置(3306)

建立從復制賬號

grant replication slave on *.* to 'mysync'@'%' identified by '123456';             #所有IP
grant replication slave on *.* to 'mysync'@'localhost' identified by '123456';   #127.0.0.1
grant replication slave on *.* to 'mysync'@'zabibx' identified by '123456';      #172.24.0.130, zabbix是主機名

查看Master信息

mysql> show master status;  #目的跟slave對上口徑
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |      541 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

08、Slave從主機設置(3307)

進入mysql與master主機建立連接

change master to master_host='172.24.0.130',master_port=3306,master_user='mysync',master_password='123456', master_log_file='mysql-bin.000003',master_log_pos=541;

show slave status\G;

 start  slave;  #啟動從主機    stop slave;停止從主機

#截圖中兩個yes說明從機已經連接到主機

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM