Mysql 安裝及配置主從備份

主從備份的意義

它主要是爲了讀寫分離,提高高併發情況下的效率

1、做數據的熱備,作爲後備數據庫,主數據庫服務器故障後,可切換到從數據庫繼續工作,避免數據丟失。

2、架構的擴展。業務量越來越大,I/O訪問頻率過高,單機無法滿足,此時做多庫的存儲,降低磁盤I/O訪問的頻率,提高單個機器的I/O性能。

3、讀寫分離,使數據庫能支撐更大的併發。在報表中尤其重要。由於部分報表sql語句非常的慢,導致鎖表,影響前臺服務。如果前臺使用master,報表使用slave,那麼報表sql將不會造成前臺鎖,保證了前臺速度。

Mysql 安裝

mysql 的服務器在國外,導致在國內下載速度會很慢,我們可以使用國內的鏡像加速。

  1. 華爲鏡像加速地址 ,https://mirrors.huaweicloud.com/mysql/Downloads/
    選擇自己需要的鏡像,點擊下載

  2. 將文件傳到需要部署的服務器,解壓放置到安裝的目錄,將mysql 文件的目錄添加到 系統環境變量中 例如:
    E:\software\mysql-5.7.29-winx64\bin

  3. 在mysql文件目錄下新建 data、logs文件夾,新建 my.ini文件,文件內容爲:

    [mysqld]
    server-id = 1
    log_bin = E:\\software\mysql-5.7.29-winx64\logs\mysql-bin.log
    port = 3306
    basedir= E:\software\mysql-5.7.29-winx64\bin
    datadir= E:\\software\mysql-5.7.29-winx64\data
    max_connections=200
    character-set-server=utf8
    default-storage-engine=INNODB
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    skip-grant-tables
    [mysql]
    default-character-set=utf8
    
  4. 初始化mysql
    mysqld --initialize
    如果報錯的話,找不到文件
    在這裏插入圖片描述
    下載文件,安裝上解決問題

    文件下載地址:

  5. 安裝爲 mysql 服務
    mysqld -install

  6. 啓動mysql 服務
    net start mysql (啓動mysql服務)

  7. 登錄上修改默認密碼

    初始化生成的默認密碼在 data 目錄下的 xxx.err 文件裏,打開文件搜索 root,既可看到隨機生成的默認密碼
    在這裏插入圖片描述
    登錄數據庫,修改密碼
    mysql -uroot -p
    flush privileges;
    alter user 'root'@'localhost' identified by 'root';

  8. Mysql 安裝完成,另外一臺從服務器安裝步驟和上面類似,不同點是 my.ini 文件的 server-id = 1 修改爲 server-id = 2

配置主從備份

配置主數據庫

  1. 創建一個同步用戶

    mysql -uroot -p
    
    create user 'test'@'%' identified by '123456'; 
    grant replication slave on *.* to 'test'@'%';  
    
    flush privileges; 
    show master status;
    

    如果 輸入 show master status 命令後出現如下頁面,就說明主服務器配置完成
    在這裏插入圖片描述

配置從服務器

  1. 設置連接到master主服務器

    master_host:主服務器Ubuntu的ip地址
    master_log_file: 前面查詢到的主服務器日誌文件名
    master_log_pos: 前面查詢到的主服務器日誌文件位置

    change master to master_host='10.211.55.5', master_user='slave', 
    master_password='slave',
    master_log_file='mysql-bin.000006', master_log_pos=590;
    
  2. 開啓同步
    start slave

  3. 查看同步狀態
    show slave statues \G
    在這裏插入圖片描述

  4. 測試是否正常聯通,在主服務器上新建一個數據庫,新建一個表,新建一條記錄,然後去從服務器上去查,看時候存在,如果存在就說明配置正常。

    create database test123;
    show databases;
    use test123;
    CREATE TABLE student (id int,name varchar(20));
    show tables;
    

可能出現的問題

修改Mysql root屬性讓root用戶可以遠程登錄

	mysql>use mysql;   
	mysql>update user set host = '%' where user = 'root';   
	mysql>select host, user from user; 

主從賦值,從機驗證報錯:ERROR 3021(HY000):this operation cannot be performed with a running salve io thread

1、停止已經啓動的綁定

stop slave
2、重置綁定

reset master
3、執行復制主機命令

change master to master_host = '192.168.12.1' 
master_user = 'slave' ,master_password ='123456' ,
master_log_file = 'mysql-bin.000004',master_log_pos = '881'

4、啓動複製
start slave
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章