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

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

生活随笔

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

数据库

Mysql系列三:Centos6下安装Mysql和Mysql主从复制的搭建

發(fā)布時(shí)間:2024/1/17 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql系列三:Centos6下安装Mysql和Mysql主从复制的搭建 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、Centos6下安裝Mysql

檢測(cè)下系統(tǒng)有沒(méi)有自帶的mysql:yum list installed | grep mysql,?
如果已經(jīng)有的話(huà)執(zhí)行命令yum -y remove mysql-libs.x86_64卸載已經(jīng)安裝的mysql。

1.?系統(tǒng)約定

安裝文件下載目錄:/data/software
Mysql目錄安裝位置:/usr/local/mysql
數(shù)據(jù)庫(kù)保存位置:/data/mysql
日志保存位置:/data/log/mysql

2. 下載mysql

執(zhí)行如下命名:

mkdir -p /data/software cd /data/software

?

--下載安裝包?

在官網(wǎng):http://dev.mysql.com/downloads/mysql/?中,選擇以下版本的mysql下載:

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

說(shuō)明:此時(shí)如果提示bash: wget: command not found,執(zhí)行yum -y install wget,再執(zhí)行wget下載命令

3. 解壓壓縮包到目標(biāo)位置

cd /data/software

--解壓壓縮包

tar -xzvf /software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

--移動(dòng)并修改文件名

mv /software/mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql

4. 創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)目錄

mkdir -p /data/mysql

5. 新建mysql用戶(hù)、組及目錄

useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql ---新建msyql用戶(hù)禁止登錄shell

?說(shuō)明:這里如果提示useradd:“mysql”組不存在,執(zhí)行g(shù)roupadd mysql添加組以后再執(zhí)行

6. 改變目錄屬有者

cd /usr/local/mysql chown -R mysql . chgrp -R mysql . chown -R mysql /data/mysql

?

7. 配置參數(shù)

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

說(shuō)明:

這里可能會(huì)報(bào)如下的錯(cuò)誤

?

解決方法:yum install -y libaio

?解決完錯(cuò)誤以后繼續(xù)執(zhí)行:# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

?此處需要注意記錄生成的臨時(shí)密碼,如上文結(jié)尾處的:)u!7G!Q3jZ>&

繼續(xù)執(zhí)行:

bin/mysql_ssl_rsa_setup --datadir=/data/mysql

?

8. 修改系統(tǒng)配置文件

cd /usr/local/mysql/support-files cp my-default.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysql

vim /etc/init.d/mysql

修改以下內(nèi)容:

9. 啟動(dòng)和遠(yuǎn)程連接mysql

/etc/init.d/mysql start

--登陸mysql

mysql -hlocalhost -uroot -p

說(shuō)明:

如果出現(xiàn):-bash: mysql: command not found

就執(zhí)行:?# ln -s /usr/local/mysql/bin/mysql /usr/bin --沒(méi)有出現(xiàn)就不用執(zhí)行

--輸入第6步生成的臨時(shí)密碼

--修改密碼

mysql> set password=password('123456');

--設(shè)置root賬戶(hù)的host地址(修改了才可以遠(yuǎn)程連接

mysql>grant all privileges on *.* to 'root'@'%' identified by '123456'; mysql>flush privileges;

--查看用戶(hù)信息

mysql> use mysql; mysql> select host,user from user;

--這里就可以使用遠(yuǎn)程連接測(cè)試了;

?

10. Mysql操作命令

--退出mysql命令窗口

#exit

--查看mysql狀態(tài)

#service mysql status

--停止mysql

#service mysql stop

--啟動(dòng)mysql

#service mysql start

二、Mysql主從復(fù)制的搭建

環(huán)境準(zhǔn)備:

首先把前面安裝好mysql的虛擬機(jī)克隆一個(gè)作為mysql的從節(jié)點(diǎn),克隆方法參照我的文章:學(xué)習(xí)Mysql過(guò)程中拓展的其他技術(shù)棧:設(shè)置linux虛擬機(jī)的固定ip和克隆linux虛擬機(jī)

主庫(kù)所在服務(wù)器IP地址為192.168.168.130,從庫(kù)所在服務(wù)器IP地址為192.168.168.131

1.? MySql主從復(fù)制原理

mysql 主從復(fù)制原理:

1). master 將操作記錄到二進(jìn)制日志(binary log)中;

2). slave IO 線(xiàn)程 將master的binary log events讀寫(xiě)到它的中繼日志(relay log);

3). slave SQL線(xiàn)程讀取中繼日志,將重做記錄數(shù)據(jù)到數(shù)據(jù)庫(kù)中。

MySQL的主從同步是一個(gè)很成熟的架構(gòu),優(yōu)點(diǎn)為:

1) 在從服務(wù)器可以執(zhí)行查詢(xún)工作(即我們常說(shuō)的讀功能),降低主服務(wù)器壓力;

2) 在從主服務(wù)器進(jìn)行備份,避免備份期間影響主服務(wù)器服務(wù);

3) 當(dāng)主服務(wù)器出現(xiàn)問(wèn)題時(shí),可以切換到從服務(wù)器。

2. 主庫(kù)192.168.168.130設(shè)置

修改主庫(kù)my.cnf,主要是設(shè)置個(gè)不一樣的server-id和log-bin,紅色部分為新增部分。

vim /etc/my.cnf [mysqld] datadir=/data/mysql #socket=/var/lib/mysql/mysql.sock #user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-bin=mysql-bin #需要啟用二進(jìn)制日志 server-id=1 # 用于標(biāo)識(shí)不同的數(shù)據(jù)庫(kù)服務(wù)器 binlog-ignore-db=information_schema #忽略記錄二進(jìn)制日志的數(shù)據(jù)庫(kù) binlog-ignore-db=cluster #忽略記錄二進(jìn)制日志的數(shù)據(jù)庫(kù) binlog-ignore-db=mysql #忽略記錄二進(jìn)制日志的數(shù)據(jù)庫(kù)

重新啟動(dòng)主庫(kù)生效

service mysql restart

登錄主庫(kù):

mysql -hlocalhost -uroot -p

?

賦予從庫(kù)權(quán)限帳號(hào):

grant all privileges on *.* to '用戶(hù)名'@'%' identified by '密碼';

本文建立的賬戶(hù)名稱(chēng)為root,密碼為123456

?

查看是否創(chuàng)建用戶(hù)成功:

select user,host from mysql.user;

?

顯示主庫(kù)信息,記錄File和Position,從庫(kù)設(shè)置將會(huì)用到:

show master status;

?

3. 從庫(kù)192.168.168.131設(shè)置

修改從庫(kù)配置文件/etc/my.cnf

vim /etc/my.cnf [mysqld] datadir=/data/mysql #socket=/var/lib/mysql/mysql.sock #user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks #symbolic-links=0 log-bin=mysql-bin #需要啟用二進(jìn)制日志 server-id=2 #用于標(biāo)識(shí)不同的數(shù)據(jù)庫(kù)服務(wù)器 binlog-ignore-db=information_schema #忽略記錄二進(jìn)制日志的數(shù)據(jù)庫(kù) binlog-ignore-db=cluster #忽略記錄二進(jìn)制日志的數(shù)據(jù)庫(kù) binlog-ignore-db=mysql #忽略記錄二進(jìn)制日志的數(shù)據(jù)庫(kù) replicate-do-db=test #指定復(fù)制的數(shù)據(jù)庫(kù) replicate-ignore-db=mysql #不復(fù)制的數(shù)據(jù)庫(kù) #log-slave-updates #該從庫(kù)是否寫(xiě)入二進(jìn)制日志,如果需要成為多主則可啟用。只讀可以不需要 #slave-skip-errors=all slave-net-timeout=60

重新啟動(dòng)從庫(kù)生效

service mysql restart

登錄從庫(kù):

mysql -u root -p

?

停止從庫(kù):?

stop slave;

?

?連接MASTER ,MASTER_LOG_FILE為主庫(kù)的File,MASTER_LOG_POS為主庫(kù)的Position:

change master to master_host='192.168.152.130',master_user='root',master_password='123456',master_log_file='mysql-bin.000002', master_log_pos=434;

?

說(shuō)明:

上述第命令語(yǔ)句中的master_log_file='mysql-bin.000002', master_log_pos=434;對(duì)應(yīng)為前面在主庫(kù)中執(zhí)行的show master status;結(jié)果。

?啟動(dòng)從庫(kù)服務(wù):

start slave;

?

4. 測(cè)試主從復(fù)制是否生效

在主庫(kù)服務(wù)器上新建一個(gè)數(shù)據(jù)庫(kù)test,然后在里面新建一張表

create database test; use test; CREATE TABLE `myTest` (`id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,`username` VARCHAR( 20 ) NOT NULL ,`password` CHAR( 32 ) NOT NULL , `last_update` DATETIME NOT NULL , `number` FLOAT( 10 ) NOT NULL , `content` TEXT NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ;

在從庫(kù)查看主庫(kù)新建的表是否存在:

?

可以看出從庫(kù)與主庫(kù)中信息一致,主從配置成功。為了更進(jìn)一步驗(yàn)證在從庫(kù)上輸入show slave status\G

?

Slave_IO_Running: Yes(網(wǎng)絡(luò)正常);

Slave_SQL_Running: Yes(表結(jié)構(gòu)正常)

進(jìn)一步驗(yàn)證了以上過(guò)程的正確性。

?

參考文章:

1. centos6下安裝mysql:https://www.cnblogs.com/jr1260/p/6590232.html

2.?CentOS 6.5 下MySql主從、主主配置:https://www.cnblogs.com/whutxldwhj/p/5970540.html

?

轉(zhuǎn)載于:https://www.cnblogs.com/leeSmall/p/9440049.html

總結(jié)

以上是生活随笔為你收集整理的Mysql系列三:Centos6下安装Mysql和Mysql主从复制的搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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