久久久AV天堂,亚洲 欧美 综合 在线 天堂,亚洲AV无码一区二区三区天堂_知乎
<th id="dw2i4"><video id="dw2i4"><acronym id="dw2i4"></acronym></video></th><object id="dw2i4"></object>

系統城裝機大師 - 固鎮縣祥瑞電腦科技銷售部宣傳站!

當前位置:首頁 > 數據庫 > Mysql > 詳細頁面

本地windows安裝兩個mysql服務器,配置主從同步

時間:2022-12-15來源:www.caymanbraccottage.com作者:電腦系統城

  • 一、配置兩個mysql服務器
    • 1.首先安裝mysql
    • 2.復制安裝后的目錄
    • 3.安裝服務
    • 4. 開啟服務
    • 5. 停止服務
  • 二、設置主從配置:

大型網站為了緩解大量的并發訪問,除了在網站實現分布式負載均衡,還會搭建服務器mysql集群技術,來分擔主數據庫的壓力。在本地電腦能實現這樣的技術嗎,本地windows安裝兩個mysql服務器,配置主從同步也是可以實現的,快來跟著教程測試一下吧。

一、配置兩個mysql服務器

1.首先安裝mysql

安裝mysql(這里安裝的是5.5),正常安裝即可。

2.復制安裝后的目錄

復制安裝后的目錄d:/mysql/MySQL Server 5.5(路徑看個人情況) 到d:/mysql/mysql2

修改mysql2目錄下的my.ini 文件

[client]

port=3307(安裝數據庫的端口是3306 ,此處修改為3307)

 

[mysqld]

# The TCP/IP Port the MySQL Server will listen on

port=3307(安裝數據庫的端口是3306 ,此處修改為3307)

 

1
2
3
4
#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/mysql/MySQL Server 5.5/"
#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

修改為

1
2
3
4
5
6
#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/mysql/mysql_2/"
#復制后的目錄
#Path to the database root
datadir="C:/ProgramData/MySQL/mysql_2/Data/"
#此處注意,在C:/ProgramData/MySQL下新建mysql_2 并把MySQL Server 5.5/下的Data文件全粘貼過來

3.安裝服務

命令符進入:D:\mysql\mysql_2\bin>

mysqld --install mysql2 --defaults-file='d:\mysql\mysql_2\my.ini'

運行成功,則會顯示Service Successfully installed.

這時候打開任務管理器--服務,可以看到一個mysql2服務。

4. 開啟服務

命令提示符:  D:\mysql\mysql_2\bin>net start mysql2 或者在服務中手動開啟

如果報錯1067 可以把C:/ProgramData/MySQL/mysql_2/Data/ 中ib_logfile0、ib_logfile1和ibdata1 刪掉,重啟。

5. 停止服務

命令提示符:  D:\mysql\mysql_2\bin>net stop mysql2 或者在服務中手動停止;

 

二、設置主從配置:

    主服務器(master): IP為127.0.0.1,端口為3306
    從服務器(slave): IP為127.0.0.1,端口為3307

將兩個服務都停掉(這里將主庫叫做master , 從庫叫做slave):

主服務器配置:

修改主服務器的數據庫配置文件(D:/mysql/MySQL Server 5.5/my.ini),

在 [mysqld] 標簽的最下面,添加如下代碼:

 

#需要備份的數據庫  

binlog-do-db=test

#不需要備份的數據庫  

binlog-ignore-db=mysql  

#開啟二進制日志

log-bin=mysql-bin

 

#服務器id

server-id=1

 

保存退出,重啟MySQL主服務器。

binlog-do-db用于指定需要同步的數據庫,binlog-ignore-db指定不需要同步的數據庫,如果這兩個參數都不設置,則從服務器會復制主服務器的所有數據庫。

 

一般不用root賬號作同步賬號,為此,我們需要在主服務器上創建一個新的用戶(如 user01,密碼為123456)。

這里我們用命令行的方式創建,方法如下:

打開cmd,切換至  D:\mysql\mysql_2\bin,用 root 賬戶連接MySQL主服務器: 

mysql -uroot -p -P3306

創建新用戶: 

create user 'user01'@'127.0.0.1' identified by '123456';

(@后面的ip地址為允許連接的客戶端的ip地址。)

 

然后,給新用戶配置主從復制的權限:

grant replication slave on *.* to 'user01'@'127.0.0.1' identified by '123456';

mysql> flush privileges;//刷新權限

(@后面的ip地址為允許連接的客戶端的ip地址,如果改為 '%',就表示客戶端沒有ip地址的限制)

 

查看主服務器的 master 狀態:

1
2
3
4
5
6
7
8
9
10
11
mysql> show master status;
 
+------------------+----------+--------------+------------------+-------------------+
 
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
 
+------------------+----------+--------------+------------------+-------------------+
 
| mysql-bin.000001 |      498 | test         | mysql            |                   |
 
+------------------+----------+--------------+------------------+-------------------+

 

從服務器配置:

修改從服務器的數據庫配置文件(d:\mysql\mysql_2\my.ini),在 [mysqld] 標簽的最下面,添加如下代碼:

 

#端口

port = 3307

 

#服務器id

server_id = 2

 

#開啟二進制日志(從服務器不是必須要開啟二進制日志)

log-bin=mysql-bin 

 

保存退出,重啟MySQL服務。

 

連接MySQL從服務器:

mysql -uroot -p -P3307

 

配置復制的參數:

change master to master_host='127.0.0.1',master_user='user01',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=498;

 

參數詳解:

master_host: 主服務器的IP

master_user: 主服務器上新創建的用戶名

master_password: 用戶的密碼

master_port: 主服務器的端口,如果未曾修改,默認即可。

master_log_file: 主服務器二進制日志文件的名稱,填寫查看主服務器的master狀態時顯示的File的值

master_log_pos: 日志的位置,填寫查看主服務器的master狀態時顯示的Position的值

 

啟動從服務器的slave復制功能:

start slave;

 

查看從服務器的slave狀態:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
mysql> show slave status \G
 
*************************** 1. row ***************************
 
               Slave_IO_State: Waiting for master to send event
 
                  Master_Host: 127.0.0.1
 
                  Master_User: user01
 
                  Master_Port: 3306
 
                Connect_Retry: 60
 
              Master_Log_File: mysql-bin.000009
 
          Read_Master_Log_Pos: 120
 
               Relay_Log_File: hp-PC-relay-bin.000004
 
                Relay_Log_Pos: 283
 
        Relay_Master_Log_File: mysql-bin.000009
 
             Slave_IO_Running: Yes
 
            Slave_SQL_Running: Yes

 

如果 Slave_IO_Running 和 Slave_SQL_Running 的值都為 Yes,則說明主從復制的所有配置已成功,即從服務器已經可以自動與主服務器的數據庫數據實現同步了。

此后,只要主服務器的數據有更新(比如:在 test數據庫中新建了一張表或者表中的數據發生了變化),從服務器都會自動與主服務器保持一致。但如果有人刻意改變了從服務器的數據,主服務器中的數據并不會同步更新,除非我們把這兩個MySQL服務器設置為互為主從。

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載

久久久AV天堂,亚洲 欧美 综合 在线 天堂,亚洲AV无码一区二区三区天堂_知乎