Linux下MySQL資料庫主從同步配置
Linux下MySQL資料庫主從同步配置
一.配置mysql主資料庫#172.30.65.122
mysql -u root-p#進入控制檯
create databasecesudb#建立資料庫測速db
insert intomysql.user(Host,User,Password)values('localhost','cesuuser',password('123456'));#建立使用者cesuuser,密碼是123456
grant all oncesudb.* to 'cesuuser'@'172.30.65.169' identified by '123456' with grantoption;#
insert intomysql.user(Host,User,Password)values('localhost','cesudbbak',password('123456'));#建立mysql資料庫主從同步使用者cesudbbak,使用者密碼是123456。
grantreplication slave on *.* to 'cesudbbak'@'172.30.65.124' identified by '123456'with grant option;#授權cesudbbak
flushprivileges;#刷新系統授權表
二.把Mysql主伺服器172.30.65.122上的資料庫 cesudb匯入到Mysql從伺服器172.30.65.124中
注意:在到處前可在控制檯執行以下的命令
flush tableswith read lock;#資料庫只讀鎖定命令,防止到處資料庫的時候有資料寫入。
匯出資料庫cesudb
mysqldump -uroot -p --default-character-set=utf8 --opt -Q -R --skip-lock-tables cesudb >/home/cesudbbak.sql#
unlock tables;#解除鎖定,在mysql控制檯執行
scpcesudbbak.sql [email protected]:/home#到/home目錄下把該檔案傳到從資料庫172.30.65.124的/home目錄下。
2.進入從資料庫#172.30.65.124
mysql -uroot -p
create databasecesudb;#建立資料庫cesudb
use cesudb;使用資料庫cesudb
source/home/cesudbbak.sql#匯入備份檔案到資料庫
mysql -ucesudbbak -h 172.30.65.122 -p#測試在從資料庫伺服器172.30.65.124上登陸資料庫主伺服器172.30.65.122。該命令的執行要在shell>下面。
三.配置主資料庫伺服器172.30.65.122的my.cnf檔案。
vim /etc/my.cnf#這裡的本機的mysql是yum安裝的,如果你是編譯安裝的需另行找到主配置檔案並修改。把該目錄下的檔案改為以下就可以了。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id=1#需新增的行,該行制定為1表示主伺服器
log-bin=mysql-bin#需新增的行,啟動mysql二進位制日誌系統
binlog-do-db=cesudb#需新增的行,需要同步的資料庫名,如有多個數據庫可以重複新增此行
binlog-ignore-db=mysql#需新增的行,不同步mysql系統資料庫
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
service mysqldrestart#重啟mysql服務
mysql -u root-p#進入mysql控制檯
show variableslike 'server_id';#檢視server_id的值是否為1
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
show masterstatus#檢視主伺服器資訊,出現以下類似的資訊
mysql> showmaster status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB |Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000006 | 106 | cesudb |mysql |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
注意:這裡記住上面的File和Position的值,後面還會用到。
四.配置從資料庫的my.cnf檔案#172.30.65.124
vim /etc/my.cnf
修改為以下內容即可,該機器上的從資料庫也是yum安裝的,如自己機器上的資料庫是編譯安裝的可以另行制定配置檔案位置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id=2#需新增的行,設定其值等於2,表示是從資料庫
log-bin=mysql-bin#啟動mysql二進位制日誌系統
replicate-do-db=cesudb#需要同步的資料庫名,如果有多個數據庫可以重複此引數,每個資料庫一行
replicate-ignore-db=mysql#不同步mysql系統資料庫
read_only#設定資料庫只讀
#bind-address=172.30.65.124
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
service mysqldrestart#重啟資料庫
mysql -u root-p#進入mysql控制檯
show variableslike 'server_id';#看到id為2,表示正常
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.00 sec)
slavestop;#停止slave同步程序
change master tomaster_host='172.30.65.122',master_user='cesudbbak',master_password='123456',master_log_file='mysql-bin.000006',master_log_pos=106;#執行同步語句,master_log_file和master_log_pos就是上面提到的那連個值
mysql> change master tomaster_host='172.30.65.122',master_user='cesudbbak',master_password='123456',master_log_file='mysql-bin.000006',master_log_pos=106;
Query OK, 0 rows affected (0.02 sec)
slave start;#開啟slave同步程序
SHOW SLAVESTATUS\G#檢視同步資訊,會出現以下的同步資訊
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting formaster to send event
Master_Host:172.30.65.122
Master_User:cesudbbak
Master_Port:3306
Connect_Retry: 60
Master_Log_File:mysql-bin.000006
Read_Master_Log_Pos: 106
Relay_Log_File:mysqld-relay-bin.000002
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000006
Slave_IO_Running: Yes Slave_SQL_Running: Yes
Replicate_Do_DB: cesudb
Replicate_Ignore_DB: mysql
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 106
Relay_Log_Space: 407
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec)
注意出現紅色字型的部分,以上的連個引數出現yes代表配置成功。
五.測試主從配置
1.在主資料庫上建立一個表student#172.30.65.122
mysql -u root -p
use cesudb;
create table...#建一個測試表
mysql> create table student (
-> id int,
-> name char(10),
-> sex char(2));
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
+------------------+
| Tables_in_cesudb |
+------------------+
| student |
+------------------+
1 row in set (0.00 sec)
2.登入從資料庫檢視該表#172.30.65.124
mysql> usecesudb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+------------------+
| Tables_in_cesudb |
+------------------+
| student |
+------------------+
1 row in set (0.00 sec)
已經自動同步過來,說明同步成功。
相關推薦
Linux下MySQL資料庫主從同步配置
Linux下MySQL資料庫主從同步配置 一.配置mysql主資料庫#172.30.65.122 mysql -u root-p#進入控制檯 create databasecesudb#建立資料庫測速db insert intomysql.user(Host,User,Pa
9、Linux下mysql資料庫安裝與配置實操
1、安裝 sudo yum -y install mysql-server 2、 sudo vim /etc/my.cnf 將字符集設定成UTF-8 3、將mysql設定為隨系統啟動 sudo chkconfig mysqld on sudo chkco
Linux下mysql資料庫一主一從同步配置
MySQL主從同步配置 mmj 16.09.29 1.確認執行環境 1.1確認主從IP 主伺服器(master):192.168.3.10 從伺服器(slave):192.168.3.18 1.2確認資料庫版本 都為5.5.31 2.主伺服器上配置 2.1修改MySQ
AWS Linux下MySQL資料庫的安裝與配置
1.root使用者登入Linux,使用yum 命令安裝MySQL,安裝完畢後,mysql 資料庫路徑在/var/lib/mysql ,配置檔案路徑為/etc/my.cnf sudo yum install mysql sudo yum install mysql-ser
linux伺服器下mysql設定主從同步的過程
1.從資料庫伺服器開啟rsync vi /etc/rsyncd.conf 編輯rsync配置 /usr/bin/rsync --daemon 啟動rsync 2.停止日誌收集伺服器的crontab /etc/init.d/cron stop 3.停止主資料庫rsync
linux下rsync文件同步配置詳解
寫入文件 sts ddr ORC 文件的 數據鏡像 根據 數據 watermark 介紹 rsync(remote sync)是unix及類unix平臺下的數據鏡像備份軟件,它不像FTP那樣需要全備份,rsync可以根據數據的變化進行差異備份,從而減少數據流量,提高工作效率
Linux下—mysql資料庫的多例項實現
準備環境: centos7 安裝 yum install mariadb-server 規劃實現多例項的目錄結構、 埠:3306,3307, 3308 每個例項存放資料庫的資料夾 /data/mysql{3306,3307,3308} /data/mysql/3306/{etc,
Linux下mysql資料庫安裝
Linux下mysql資料庫的安裝 本文主要介紹通過tar.gz進行資料庫的安裝,也可通過yum進行直接安裝 該筆記基於mysql5.5.61版本。 1、安裝mysql 1)、上傳mysql的tar包到/usr目錄下 2)、安裝mysql 解壓mysq
Linux下mysql資料庫的自動備份與還原 遠端備份和本地備份
Linux系統下Mysql備份還原 MySql的還原與備份 1 備份 mysqldump -u root -p shop > /home/andy/shop20150910.sql
.Neter玩轉Linux系列之六:Linux下MySQL的安裝、配置、使用
基礎篇 實戰篇 一、Linux安裝MySQL (1)下載安裝包:https://dev.mysql.com/downloads/mysql/ (2)解壓並安裝 命令:tar zxvf 檔名 解壓完成之後,重名一下資料夾名字。 命令:mv 檔名1
MySql資料主從同步配置
由於需要配置MySQL的主從同步配置,現將配置過程記錄下,已被以後不時之需 MySql資料主從同步 Mysql的 主從同步 是一個非同步的複製過程,從一個 Master複製到另一個 Slave上。在 Master 與 Slave 之間的實現整個複製過程主要由三個執行
Linux下mysql資料庫自動定時備份
對於網遊來說,資料庫中的資料尤其重要,實際運營中通常會有DBA或者運維人員對資料庫中資料進行日常備份,防止伺服器宕機或硬碟損壞導致的資料丟失問題 1.建立備份目錄 cd /home/game mkdir backup cd backup2.建立備份shell指令碼 vi
Linux下mysql資料庫定時備份並刪掉3天前的備份檔案
1.首先檢查下有沒有安裝crond,命令為service crond status,如果出現unrecognized service,則說明沒有安裝,如果出現 crond is stopped。如果出現crond (pid 1956) is running...則表示
MySQL資料庫主從同步延遲分析及解決方案
一、MySQL的資料庫主從複製原理 1.主庫對所有DDL和DML產生的日誌寫進binlog; 2.主庫生成一個 log dump 執行緒,用來給從庫I/O執行緒讀取binlog; 3.從庫的I/O
Linux下MySQL資料庫操作的常用命令列
一.linux下啟動mysql的命令: 1. mysqladmin start 2. /ect/init.d/mysql start (前面為mysql的安
linux下 mysql資料庫的備份和還原
#mysqldump db_name >/path/name.sql 上面的命令意思是把一個庫匯出到一個SQL檔案. 當然,你直接在有ROOT密碼的機子上執行以上命令一定會報錯.所以,請用 #mysqldump db_name >/path/na
Linux下mysql資料庫每天自動備份定時備份
1、檢視磁碟空間情況:既然是定時備份,就要選擇一個空間充足的磁碟空間,避免出現因空間不足導致備份失敗,資料丟失的惡果! 儲存到當前磁碟這是最簡單,卻是最不推薦的;伺服器有多塊硬碟,最好是把備份存放到另一塊硬碟上;有條件就選擇更好更安全的儲存介質;# df -h Filesys
【mysql】Linux下mysql資料庫顯示不全解決全過程
症狀:在mysql下,show databases,僅顯示兩個資料庫,而非全部的資料庫mysql>show databases; +--------------------+ |Databas
windows遠端連結虛擬機器Linux下MySQL資料庫
這裡先說一下MySQL登陸: 格式: mysql -h主機地址 -u使用者名稱-p使用者密碼 1、例1:連線到本機上的MYSQL 找到mysql的安裝目錄,一般可以直接鍵入命令mysql -uroot -p,回車後提示你輸密碼,輸入密碼,直接回車即
Linux下mysql資料庫操作
本文轉自:點選開啟連結,感謝原文作者的耐心整理和無私分享。一.linux下啟動mysql的命令: 1. mysqladmin start 2. /ect/init.d/mysql start (前面為mysql的安裝路徑) 二.linux下重啟mysql