久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MYSQL主從搭建的方法教程

140次閱讀
沒有評論

共計 4915 個字符,預計需要花費 13 分鐘才能閱讀完成。

這篇文章主要介紹“MYSQL 主從搭建的方法教程”,在日常操作中,相信很多人在 MYSQL 主從搭建的方法教程問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MYSQL 主從搭建的方法教程”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

一、MySQL 主從復制搭建

MySQL 主從復制搭建主要步驟有:安裝 mysql 軟件、Master 端配置部署、Slave 端配置部署、建立主從同步
安裝操作系統(tǒng)環(huán)境:REDHAT6.5

以下內(nèi)容都是自己在虛擬機親測

1、安裝 MYSQLa、環(huán)境準備及軟件安裝

安裝環(huán)境:

NODE1 主機名
master  IP 地址 192.168.159.128

NODE2 主機名
slave  IP 地址 192.168.159.129

b、安裝 MYSQL 主從都要進行安裝

#tar zxvf mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

#
cd /usr/local/

#
mysql-5.6.38-linux-glibc2.12-x86_64
mysql

#
cd mysql

#
groupadd mysql

#
useradd -g mysql mysql

# passwd
mysql
      # cd /usr/local/

#  chown -R mysql.mysql mysql

#
./script/mysql_install_db –user=mysql
      # cd /usr/local/mysql
     # chown -R root:root ./
      # chown -R mysql:mysql data

#
cp support-files/mysql.server /etc/rc.d/init.d/mysqld

#
chmod u+x /etc/rc.d/init.d/mysqld

#
chkconfig –add mysqld

#
/etc/rc.d/init.d/mysqld start

 
在這里是采用的簡易安裝,如果想要在生產(chǎn)環(huán)境使用,想自己指定需要的參數(shù),建議還是使用源碼安裝

注:主從都使用 yum install 的方式安裝系統(tǒng)自帶的 mysql 也可以使用,親測搭建成功,只是版本會比較低

2、Master 端配置部署
a、在主服務器上的 my.cnf 配置文件中的 [mysqld] 節(jié)點下添加以下配置

黃色部分為新添加

vi /etc/my.cnf

[mysqld]

server-id=101

log-bin=/var/lib/mysql/mysql-bin.log

log-bin-index=/var/lib/mysql/mysql-bin.index

expire_logs_days=30

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

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

說明:

log-bin:給出二進制日志的所有文件基礎名

log-bin-index:給出二進制日志文件的文件名,通常以 000001 開始,順序遞增。全名:master-bin.000001

server-id:mysql 服務器唯一 ID,在主從復制的所有服務器中必須唯一。

b、創(chuàng)建用戶,并賦予權限:

create user repl_user;

GRANT
REPLICATION SLAVE ON *.* TO repl @ % IDENTIFIED BY PASSWORD ******

設置密碼時會遇到報錯:

ERROR 1372
(HY000): Password hash should be a 41-digit hexadecimal number

解決辦法:用 select
password(你想輸入的密碼 查詢出你的密碼對應的字符串

select password(123456

查出的是 *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9

GRANT REPLICATION SLAVE ON *.* TO repl_user @ %
IDENTIFIED BY PASSWORD *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9

2、Slave 端配置部署 a、配置參數(shù):[mysqld]

黃色部分為新添加

vi /etc/my.cnf

[mysqld]

server-id=102

log-bin=/var/lib/mysql/mysql-relay-bin.log

log-bin-index=/var/lib/mysql/mysql-relay-bin.index

relay_log_purge=on

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

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

3、建立主從同步

(重建備庫使用該方法,備庫和主庫是正常數(shù)據(jù)同步狀態(tài))

建立主從同步可以從主庫上導出數(shù)據(jù),也可以從已有的從庫上導出數(shù)據(jù),然后再導入到新的從庫中,change master to 建立同步。

、導出數(shù)據(jù)

在主庫上導出數(shù)據(jù):

mysqldump
-u***-p***-S /data/mysql6001/mysql.sock   –default-character-set=utf8
–q –single-transaction –master-data-A   /tmp/all_database.sql

(重建備庫時)也可在從庫上導出數(shù)據(jù):(我這里是測試環(huán)境,所以對于我來說都是新建的數(shù)據(jù)庫,所以無所謂啦)

mysqldump
-u***-p***-S /data/mysql6001/mysql.sock –default-character-set=utf8 -q
–single-transaction –dump-slave-A 
  /tmp/all_database.sql

NOTES:

–master-data 和 –dump-slave 導出的備份中,會包含 master_log_file 和 master_log_pos 信息。

–master-data 選項的作用,是將二進制的信息寫入到輸出文件中,在這里是寫入到備份的 sql 文件中。

–dump-slave 選項的作用,是用戶在 slave 端 dump 數(shù)據(jù),建立新的 slave, 至少是第 2 個 slave, 也就是已經(jīng)有 A – B, 現(xiàn)在從 B 上導出數(shù)據(jù)建立 A – C 的復制,這個不但可以用于建立 slave, 還可用于備份中,用于讀 binlog 進行 roll forward 的起點

例子:(實際直接主庫全庫導出即可)

mysqldump -uroot –events –all-databases /opt/mysql.dump

3.2、從庫導入數(shù)據(jù)

mysql
-u*** -p*** –default-character-set=utf8 all_database.sql

例子:

mysql -uroot mysql.dump /mysql.dump

3.3、從庫與主機建立同步

以下為建立主從同步最基本的 6 個項:change master to

master_host= xxx.xxx.xxx.xxx ,  #
主庫 IP

master_port=6001,  #
主庫 mysqld 的端口

master_user= repl ,  #
主庫中創(chuàng)建的有 REPLICATION SLAVE 權限的用戶

master_password= xxxxxxxx ,  #
該用戶的密碼

master_log_file= mysql-bin.000xxx ,
 #
已在導入時指定了

master_log_pos=xxxxxx;  #已在導入時指定了

start slave;

 

例子:

master_log_file 和 master_log_pos 通過在主庫上使用命令獲得:

show master status \G;

在從庫上執(zhí)行:

change master
 to

master_host= 192.168.159.128 ,

master_port=3306,

master_user= repl_user ,

master_password= 123456 ,

master_log_file= mysql-bin.000001 ,

master_log_pos=1071;

start
 slave;

 

二、主從復制狀態(tài)檢查及異常處理 1、MYSQL 啟動報錯(1)MYSQL 啟動時報錯:

Another MySQL daemon already running with the same
unix socket

原因多個 Mysql 進程使用了同一個 socket。

兩個方法解決:

第一個是立即關機 使用命令 shutdown -h now 關機,關機后在啟動,進程就停止了。

第二個直接把 mysql.sock 文件改名即可。也可以刪除,推薦改名。

然后就可以啟動 mysql 了。

(2)在 REDHAT7.0 版本安裝 MYSQL5.6.38 時遇到以下啟動報錯
service mysql start
Starting MySQL.180424 22:21:31 mysqld_safe error: log-error set to /var/log/mariadb/mariadb.log , however file don t exists. Create writable for user mysql .
 ERROR! The server quit without updating PID file (/var/lib/mysql/REDHAT70.pid).

解決方法:
mkdir -p /var/log/mariadb/
cd /var/log/mariadb/
touch mariadb.log
chmod -R 775 mariadb.log
chown -R mysql:mysql mariadb.log

2、ERROR-2013 報錯

ERROR-2013 報錯代碼,可能造成的原因是

[ERROR] Slave I/O: error connecting to master
repl_user@192.168.159.128:3306 – retry-time: 60  retries: 86400, Error_code: 2013

iptables -F

setenforce 0

3、ERROR-1045 報錯

Last_IO_Errno: 1045

Last_IO_Error: error connecting to master repl_user@192.168.159.128:3306
– retry-time: 60  retries: 86400

必須使用以下方法授權

select password(123456

GRANT REPLICATION SLAVE ON
*.* TO repl_user @ % IDENTIFIED BY PASSWORD *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 4、登陸 MYSQL 報錯 ERROR-2002

登陸 MYSQL 時如果報錯:

ERROR 2002 (HY000): Can t connect to local
MySQL server through socket /tmp/mysql.sock

  解決方法:

ln -s /var/lib/mysql/mysql.sock
/tmp/mysql.sock

到此,關于“MYSQL 主從搭建的方法教程”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注丸趣 TV 網(wǎng)站,丸趣 TV 小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-07-20發(fā)表,共計4915字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 太和县| 综艺| 青川县| 略阳县| 云浮市| 牡丹江市| 新乡县| 宁陵县| 浏阳市| 晋江市| 彩票| 嘉义县| 郴州市| 思茅市| 河间市| 罗定市| 阿瓦提县| 洛阳市| 彩票| 宝应县| 西峡县| 巫溪县| 札达县| 伊金霍洛旗| 平乐县| 深圳市| 武冈市| 嘉禾县| 榕江县| 嘉黎县| 彰化市| 绥江县| 三门峡市| 晋江市| 神农架林区| 新津县| 常熟市| 喀喇| 沁阳市| 侯马市| 汤原县|