日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2025/3/15 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 自动配置 mysql数据库,Linux下配置mysql数据库主从自动备份 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當網站內容越來越多的時候,數據庫也變得越來越大了。如果不小心誤刪了,或者被攻擊了,那就什么都沒有了,一切歸零。到現在博主也認識到了數據庫的重要性,于是決定研究研究數據庫的自動備份。如果你是土豪那可以直接買各種云服務商的數據庫,自帶容災備份的,安全性比較好。

本文僅討論數據庫放在本地的情況,備份方式為主從:即一臺服務器作為主服務器,另外一臺服務器作為備份服務器,當主服務器故障時,可以通過備份服務器來接管/恢復。

先來看看數據庫主備備份的原理:

MySQL主從又叫做Replication、AB復制。簡單講就是A和B兩臺機器做主從后,在A上寫數據,另外一臺B也會跟著寫數據,兩者數據實時同步的

MySQL主從是基于binlog的,主上須開啟binlog才能進行主從。 主從過程大致有3個步驟

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

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

3)從根據relaylog里面的sql語句按順序執行

主上有一個log dump線程,用來和從的I/O線程傳遞binlog

從上有兩個線程,其中I/O線程用來同步主的binlog并生成relaylog,另外一個SQL線程用來把relaylog里面的sql語句執行一遍

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

簡單的說就是master將數據庫的改變寫入二進制日志,slave同步這些二進制日志,并根據這些二進制日志進行數據操作。

環境介紹:

本次配置的環境為:centos7,使用LNMP1.4安裝的Mysql5.5,主服務器為AWS服務器(下面簡稱主服務器),從服務器為京東云服務器(下面簡稱從服務器),現在需要將主服務器中名為img的數據庫做主從同步,自動同步到從服務器上。

準備工具:xshell

一、復制數據庫

1、首先要將主服務器的數據庫復制到從服務器中。

用xshell連接主服務器,導出數據庫:

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

---輸入數據庫密碼---

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

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

sftp root@主服務器IP地址

---輸入ssh密碼---

cd /root

然后ls看下,可以看到主服務器的目錄,里面有個img.sql的文件,執行:

get img.sql

這樣數據庫文件就被復制到從服務器上了。 exit 退出sftp。

3、接下來在從服務器上建立一個名為img的數據庫,排序規則設為uft8

mysql -uroot -p

---輸入數據庫密碼---

create database img;

use img;

set names utf8;

source img.sql

這樣就成功導入了,exit退出回到linux命令行。

二、主服務器配置

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

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

binlog-do-db=img

binlog-ignore-db=mysql

配置完成如圖:

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

service mysql restart

2、連接數據庫進行如下操作:

mysql -uroot -p img

---輸入數據庫密碼---

#以下為修改數據庫連接權限

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

flush privileges;

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

show master status;

執行完最后一條后我們可以看到:

記下紅框處的文件名和數字。

三、從服務器配置

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

重啟mysql服務:

service mysql restart

2、連接數據庫,配置從數據庫:

mysql -uroot -p

---輸入數據庫密碼---

stop slave;

change master to

master_user='root',

master_password='你設置的自定義密碼',

master_host='主服務器地址',

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

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

start slave;

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

如圖,這兩個是YES就成功了

四、其他說明

現在只要主服務器上的數據庫有變動,從服務器上也會時時變動,達到了數據庫異地容災備份的功能。如果需要多服務器備份,那么可以把多個服務器中my.cnf中的server_id修改為不同,并按以上教程重新配置一遍,每個服務器的數據庫可做主服務器也可以做從服務器。

如要同步多個數據庫,可在主服務器的my.cnf 中,添加多條 binlog-do-db,指向多個數據庫。

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。