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

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

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

linux mysql依赖关系_[Linux]-MySQL主从复制

發(fā)布時(shí)間:2023/12/15 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux mysql依赖关系_[Linux]-MySQL主从复制 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MySQL支持的復(fù)制類型:

1) 基于語(yǔ)句的復(fù)制。在主服務(wù)器上執(zhí)行的SQL語(yǔ)句,在從服務(wù)器上執(zhí)行同樣的語(yǔ)句。MySQL默認(rèn)采用基于語(yǔ)句的復(fù)制,效率比較高;

2) 基于行的復(fù)制。把改變的內(nèi)容復(fù)制過(guò)去,而不是把命令在從服務(wù)器上執(zhí)行一遍;

3) 混合類型的復(fù)制。默認(rèn)采用基于語(yǔ)句的復(fù)制,一旦發(fā)現(xiàn)基于語(yǔ)句無(wú)法精確復(fù)制時(shí),就會(huì)采用基于行的復(fù)制;

MySQL主從復(fù)制的原理:

1) 在Master中每個(gè)事物更新數(shù)據(jù)完成之后,寫入二進(jìn)制日志中;

2) slave的I/O線程監(jiān)控Master的二進(jìn)制日志,一旦日志發(fā)生變化,就將變化的部分讀取并寫入到slave的中繼日志中去;

3) slave中的SQL線程監(jiān)控中繼日志,一旦發(fā)生變化讀取變化的內(nèi)容,之后重放(重新執(zhí)行一遍SQL語(yǔ)句),實(shí)現(xiàn)mysql數(shù)據(jù)的同步。

主MySQL服務(wù)器(master)------從MySQL服務(wù)器(slave)

配置

mount /dev/cdrom /mnt/ //掛載光盤使用yum

1、安裝yum,把需要的安裝包放在服務(wù)器里面,yum會(huì)自動(dòng)安裝依賴關(guān)系

[root@bogon ~]# rm -rf /etc/yum.repos.d/*[root@bogon ~]# vim /etc/yum.repos.d/yum.repo

[yum]

name=yum installbaseurl=file:///mnt/

enabled=1gpgcheck=0

2、安裝mysql服務(wù)器

#!/bin/bash

#安裝Mysql服務(wù)

#初始化當(dāng)前所處的路徑

pwd_dir=`pwd`

#######################[初始化變量]#######################

#mysql源碼包的名稱

mysql_package_name='mysql-5.5.22.tar.gz'#cmake源碼包的名稱

cmake_package_name='cmake-2.8.6.tar.gz'#mysql安裝路徑

mysql_install='/usr/local/mysql'#mysql解壓出源碼包目錄的名稱

mysql_package_dir='mysql-5.5.22'#cmake解壓出源碼包目錄的名稱

cmake_pachage_dir='cmake-2.8.6'#源碼包解壓存放路徑

code_package_dir='/usr/src/'#依賴包的文件名稱

subjoin_package_file='ncurses-devel-5.7-3.20090208.el6.x86_64.rpm'###########################[END]############################

#卸載rpm方式的安裝的mysql服務(wù)

rpm-e mysql-server --nodeps &> /dev/null#檢查依賴包

rpm-q ncurses-devel &> /dev/null

if [ $? -ne 0]thenrpm-ih $subjoin_package_fiel --nodepsfi#編譯安裝cmaketar zxvf $cmake_package_name -C $code_package_dir &> /dev/nullcd $code_package_dir$cmake_pachage_dir

./configure &> /dev/nullgmake&> /dev/nullgmakeinstall &> /dev/nullcd $pwd_dir

#編譯安裝msyqltar zxf $mysql_package_name -C $code_package_dir &> /dev/nullcd $code_package_dir$mysql_package_dir

cmake-DCMAKE_INSTALL_PREFIX=$mysql_install -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWHIT_CHARSETS=all &> /dev/null

make &> /dev/null

make install &> /dev/null#配置msyql

userdel mysql&> /dev/nulluseradd-M -s /sbin/nologin mysql &> /dev/null

chown -R mysql:mysql $mysql_install &> /dev/null

cp -f ${mysql_install}/support-files/my-medium.cnf /etc/my.cnfln -s ${mysql_install}/bin/*/usr/local/bin/

cp ${mysql_install}/support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

#初始化mysql

$mysql_install/scripts/mysql_install_db --user=mysql --basedir=$mysql_install --datadir=${mysql_install}/data/ &> /dev/null

service mysqld start &> /dev/null

echo 'mysql install successful'

MySQL腳本

3、配置主要的MySQL服務(wù)器(master)

修改mysql的配置文件

[root@bogon ~]# vim /etc/my.cnf

......//省略部分配置內(nèi)容

# Replication Master Server (default)

# binary logging is requiredforreplication

log-bin=master-bin //修改

server-id = 1 //主服務(wù)器,數(shù)字越小等級(jí)越高

log-slave-updates=true //修改

[root@bogon ~]# service mysqld restart //重啟服務(wù)

主服務(wù)器登錄MySQL給從服務(wù)器同步的權(quán)限

[root@bogon ~]# mysql -u root -p

mysql> grant replication slave on *.* to 'myslave'@'192.168.1.%' identified by '123.com';mysql> flush privileges; //強(qiáng)制刷新

mysql> show master status;

+-------------------+----------+--------------+------------------+

| File????????????? | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-------------------+----------+--------------+------------------+

| master-bin.000001 |????? 338 |????????????? |????????????????? |

+-------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

其中File列顯示日志名,Position列顯示偏移量,這兩個(gè)值在后面配置從服務(wù)器的時(shí)候需要。

Slave應(yīng)從該點(diǎn)在Master上進(jìn)行新的更新

配置mysql從服務(wù)器(slave)

server-id = 2 //修改,要低于主mysql,更不能一樣relay-log=relay-log-bin //添加

relay-log-index=slave-relay-bin.index //添加

[root@bogon ~]# service mysqld restart //重啟服務(wù)

登錄MySQL,配置同步

按主服務(wù)器的file信息和Position位置號(hào)更改下面命令中的master_log_file和master_log_pos參數(shù);

[root@bogon ~]# mysql -u root -p

mysql> change master to master_host='192.168.1.9',

master_user='myslave',master_password='123.com',

master_log_file='master-bin.000001',

master_log_pos=338;

mysql> start slave; //開(kāi)始實(shí)時(shí)同步

mysql>show slave status\G; //查看同步的狀態(tài)信息*************************** 1. row ***************************Slave_IO_State: Connecting to master

Master_Host:192.168.1.9Master_User: myslave

Master_Port:3306Connect_Retry:60Master_Log_File: master-bin.000001Read_Master_Log_Pos:338Relay_Log_File: relay-log-bin.000001Relay_Log_Pos:4Relay_Master_Log_File: master-bin.000001Slave_IO_Running: Connecting

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno:0Last_Error:

Skip_Counter:0Exec_Master_Log_Pos:338Relay_Log_Space:107Until_Condition: None

Until_Log_File:

Until_Log_Pos:0Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno:2003Last_IO_Error: error connecting to master'myslave@192.168.1.9:3306' - retry-time: 60 retries: 86400Last_SQL_Errno:0Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id:0

驗(yàn)證

在主服務(wù)器上創(chuàng)建一個(gè)庫(kù),然后在從服務(wù)器上刷,就可以看到我們所創(chuàng)建的庫(kù)

master-bin.000001 是一個(gè)二進(jìn)制的文件,里面存放的是我們創(chuàng)建庫(kù)寫入的sql語(yǔ)句

我們可以用mysqlbinlog命令可以查看mysql的二進(jìn)制日志文件,后面跟路徑

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的linux mysql依赖关系_[Linux]-MySQL主从复制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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