日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

linux 自动配置 mysql数据库,Linux下配置mysql数据库主从自动备份

發(fā)布時(shí)間:2025/3/15 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 自动配置 mysql数据库,Linux下配置mysql数据库主从自动备份 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

當(dāng)網(wǎng)站內(nèi)容越來(lái)越多的時(shí)候,數(shù)據(jù)庫(kù)也變得越來(lái)越大了。如果不小心誤刪了,或者被攻擊了,那就什么都沒(méi)有了,一切歸零。到現(xiàn)在博主也認(rèn)識(shí)到了數(shù)據(jù)庫(kù)的重要性,于是決定研究研究數(shù)據(jù)庫(kù)的自動(dòng)備份。如果你是土豪那可以直接買各種云服務(wù)商的數(shù)據(jù)庫(kù),自帶容災(zāi)備份的,安全性比較好。

本文僅討論數(shù)據(jù)庫(kù)放在本地的情況,備份方式為主從:即一臺(tái)服務(wù)器作為主服務(wù)器,另外一臺(tái)服務(wù)器作為備份服務(wù)器,當(dāng)主服務(wù)器故障時(shí),可以通過(guò)備份服務(wù)器來(lái)接管/恢復(fù)。

先來(lái)看看數(shù)據(jù)庫(kù)主備備份的原理:

MySQL主從又叫做Replication、AB復(fù)制。簡(jiǎn)單講就是A和B兩臺(tái)機(jī)器做主從后,在A上寫數(shù)據(jù),另外一臺(tái)B也會(huì)跟著寫數(shù)據(jù),兩者數(shù)據(jù)實(shí)時(shí)同步的

MySQL主從是基于binlog的,主上須開(kāi)啟binlog才能進(jìn)行主從。 主從過(guò)程大致有3個(gè)步驟

1)主將更改操作記錄到binlog里

2)從將主的binlog事件(sql語(yǔ)句)同步到從本機(jī)上并記錄在relaylog里

3)從根據(jù)relaylog里面的sql語(yǔ)句按順序執(zhí)行

主上有一個(gè)log dump線程,用來(lái)和從的I/O線程傳遞binlog

從上有兩個(gè)線程,其中I/O線程用來(lái)同步主的binlog并生成relaylog,另外一個(gè)SQL線程用來(lái)把relaylog里面的sql語(yǔ)句執(zhí)行一遍

兩種情況:一種是做備份用,一種是作為讀用

簡(jiǎn)單的說(shuō)就是master將數(shù)據(jù)庫(kù)的改變寫入二進(jìn)制日志,slave同步這些二進(jìn)制日志,并根據(jù)這些二進(jìn)制日志進(jìn)行數(shù)據(jù)操作。

環(huán)境介紹:

本次配置的環(huán)境為:centos7,使用LNMP1.4安裝的Mysql5.5,主服務(wù)器為AWS服務(wù)器(下面簡(jiǎn)稱主服務(wù)器),從服務(wù)器為京東云服務(wù)器(下面簡(jiǎn)稱從服務(wù)器),現(xiàn)在需要將主服務(wù)器中名為img的數(shù)據(jù)庫(kù)做主從同步,自動(dòng)同步到從服務(wù)器上。

準(zhǔn)備工具:xshell

一、復(fù)制數(shù)據(jù)庫(kù)

1、首先要將主服務(wù)器的數(shù)據(jù)庫(kù)復(fù)制到從服務(wù)器中。

用xshell連接主服務(wù)器,導(dǎo)出數(shù)據(jù)庫(kù):

mysqldump -uroot -p img >/root/img.sql

---輸入數(shù)據(jù)庫(kù)密碼---

然后ls看下,可以看到一個(gè) img.sql的文件。

2、用xshell連接從服務(wù)器,使用sftp命令遠(yuǎn)程到主服務(wù)器(有提示輸入yes):

sftp root@主服務(wù)器IP地址

---輸入ssh密碼---

cd /root

然后ls看下,可以看到主服務(wù)器的目錄,里面有個(gè)img.sql的文件,執(zhí)行:

get img.sql

這樣數(shù)據(jù)庫(kù)文件就被復(fù)制到從服務(wù)器上了。 exit 退出sftp。

3、接下來(lái)在從服務(wù)器上建立一個(gè)名為img的數(shù)據(jù)庫(kù),排序規(guī)則設(shè)為uft8

mysql -uroot -p

---輸入數(shù)據(jù)庫(kù)密碼---

create database img;

use img;

set names utf8;

source img.sql

這樣就成功導(dǎo)入了,exit退出回到linux命令行。

二、主服務(wù)器配置

1、切回主服務(wù)器,用vim 編輯 /etc下的my.cnf,如圖

這里主要配置的是server-id和log-bin。server-id用于區(qū)分不同主機(jī)上的數(shù)據(jù)庫(kù),log-bin是二進(jìn)制文件的名字(可以隨意命名)。同時(shí),為了保證只同步需要的數(shù)據(jù)庫(kù),我們需要加上:

binlog-do-db=img

binlog-ignore-db=mysql

配置完成如圖:

然后 :wq 保存退出,重啟mysql:

service mysql restart

2、連接數(shù)據(jù)庫(kù)進(jìn)行如下操作:

mysql -uroot -p img

---輸入數(shù)據(jù)庫(kù)密碼---

#以下為修改數(shù)據(jù)庫(kù)連接權(quán)限

grant all privileges on *.* to 'root'@'%' identified by '自定義密碼';

flush privileges;

#下面為顯示bin-log文件名和位置

show master status;

執(zhí)行完最后一條后我們可以看到:

記下紅框處的文件名和數(shù)字。

三、從服務(wù)器配置

1、連接到從服務(wù)器,用vim修改/etc下的my.cnf文件,把server-id改為2。

重啟mysql服務(wù):

service mysql restart

2、連接數(shù)據(jù)庫(kù),配置從數(shù)據(jù)庫(kù):

mysql -uroot -p

---輸入數(shù)據(jù)庫(kù)密碼---

stop slave;

change master to

master_user='root',

master_password='你設(shè)置的自定義密碼',

master_host='主服務(wù)器地址',

master_log_file='mysql-bin.000011', #記下的上圖紅框的文件名

master_log_pos=255; #記下的上圖紅框的位置

start slave;

show slave status\G #查看是否安裝成功

如圖,這兩個(gè)是YES就成功了

四、其他說(shuō)明

現(xiàn)在只要主服務(wù)器上的數(shù)據(jù)庫(kù)有變動(dòng),從服務(wù)器上也會(huì)時(shí)時(shí)變動(dòng),達(dá)到了數(shù)據(jù)庫(kù)異地容災(zāi)備份的功能。如果需要多服務(wù)器備份,那么可以把多個(gè)服務(wù)器中my.cnf中的server_id修改為不同,并按以上教程重新配置一遍,每個(gè)服務(wù)器的數(shù)據(jù)庫(kù)可做主服務(wù)器也可以做從服務(wù)器。

如要同步多個(gè)數(shù)據(jù)庫(kù),可在主服務(wù)器的my.cnf 中,添加多條 binlog-do-db,指向多個(gè)數(shù)據(jù)庫(kù)。

總結(jié)

以上是生活随笔為你收集整理的linux 自动配置 mysql数据库,Linux下配置mysql数据库主从自动备份的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。