1. 程式人生 > 實用技巧 >mysql免安裝部署,主從配置和Atlas資料庫中介軟體的使用

mysql免安裝部署,主從配置和Atlas資料庫中介軟體的使用

mysql免編譯安裝包下載地址:https://dev.mysql.com/downloads/mysql/

linux 選擇免安裝版本

Atlas 下載地址:https://github.com/Qihoo360/Atlas/releases 根據伺服器版本選擇,本文件使用rpm版本,因為伺服器使用redhat7,所有選擇rpm版本,更多伺服器和版本對應的資訊,下載地址存在文件,請自行檢視

Ip地址已實際環境為準,這裡主要為了文件描述時標註清晰

資料庫中介軟體伺服器:Atlas部署伺服器(因為專案原因使用三方外掛不能設定埠,所以中介軟體如果和主庫部署在同一伺服器時,設定中介軟體埠為3306)

Ip:192.168.109.252

主庫:mysql主庫(如果和中介軟體部署在同一伺服器,需要修改埠不能使用3306埠)

Ip:192.168.109.253

從庫:mysql 從庫

Ip:192.168.109.254

1 .Mysql免編譯安裝包部署

1.1 建立存放壓縮包資料夾

1.2 上傳安裝包至壓縮包存放資料夾

1.3 解壓縮包至/user/local/mysql

1.4 安裝mysql所需拓展

yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison net-tools libaio

1.5 進入mysql資料夾

cd /usr/local/mysql

1.6 建立資料儲存資料夾 data

mkdir data

1.7 建立mysql使用者組和mysql使用者,-s /bin/false 表示使用者不能用於登入

groupadd mysql (新增mysql使用者組命令)

useradd -r -g mysql -s /bin/false mysql

1.8 為mysql使用者新增許可權

chown -R mysql:mysql /usr/local/mysql

1.9 拷貝提供的部署中的my.cnf到/etc下,編輯my.cnf 遮蔽sql_mode一行

1.10 初始化資料庫 初始化完成會有一個密碼,儲存一下

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

1.11 配置mysql服務

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld # 新增到系統服務

chkconfig mysqld on # 開機啟動

1.12啟動mysql

service mysqld start //啟動mysql服務

service mysqld stop //停止mysql服務

service mysqld restart //重啟mysql服務

1.13 配置mysql環境變數

vi /etc/profile

新增 export PATH=/usr/local/mysql/bin:$PATH 儲存

執行 source /etc/profile 在沒有source命令情況下執行. /etc/profile讓profile檔案立即生效

1.14 登入mysql 修改臨時管理員密碼

mysql -h 127.0.0.1 -u root –p

執行如下語句,修改本地登入密碼為123456

alter user 'root'@'localhost' identified by '123456';

設定mysql允許遠端登入

Use mysql;

Update user set host=’%’ where host=’localhost’ and user=’root’;

執行 flush privileges;命令立即生效

1.15 新增3306埠為開放埠

7以前版本

1、修改vim/etc/sysconfig/iptables檔案,增加如下一行:

   -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 要開啟的埠 -j ACCEPT

2、重啟 iptables
命令: service iptables restart

查詢埠是否已開啟:

netstat -an | grep 埠 或 netstat -tunlp |grep 埠
方法二:
1、# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
2、# /etc/init.d/iptables restart
3、# /etc/rc.d/init.d/iptables save

7以後使用

檢視埠是否開放

firewall-cmd --query-port=3306/tcp

新增埠

firewall-cmd --add-port=3306/tcp --permanent

主庫從庫部署都以上面為準

2 mysql資料庫主從配置

2.1 192.168.109.253(主庫配置)

配置項必須新增[mysqld]之後

##########################

## log bin

###########################

server-id = 100 #必須唯一

log_bin = mysql-bin #開啟及設定二進位制日誌檔名稱

binlog_format = MIXED

sync_binlog = 1

expire_logs_days =7 #二進位制日誌自動刪除/過期的天數。預設值為0,表示不自動刪除

#binlog_cache_size = 128m

#max_binlog_cache_size = 512m

#max_binlog_size = 256M

binlog-do-db = sync #要同步的資料庫

binlog-ignore-db = mysql #不需要同步的資料庫

binlog_ignore_db = information_schema

binlog_ignore_db = performation_schema

binlog_ignore_db = sys

重啟mysql服務,service mysqld restart

登入mysql mysql -uroot -p 回車 輸入密碼 回車

執行下面語句(設定從伺服器服務許可權,方便從伺服器使用者讀取賦值主伺服器內容)

grant replication slave,replication on *.* to ‘從庫賬號’@’從庫ip’ identified by ‘從庫登陸密碼’;

執行flush privileges; 使命令立即生效

執行show master status;檢視主伺服器的狀態

記住此時的File和Position,配置從伺服器的時候會用上

2.2 192.168.109.254(從庫配置)

配置從伺服器/etc/my.cnf

##########

##bin-log

##########

server-id = 110

log_bin = mysql-bin

replicate-do-db =sync #只複製某個庫

replicate-ignore-db=mysql #不復制某個庫

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

重啟mysql服務,service mysqld restart

登入mysql mysql -uroot -p 回車 輸入密碼 回車

設定主庫資訊

執行 stop slave; 停止同步

執行 CHANGE MASTER TO MASTER_HOST=’主庫ip’,MASTER_PORT=’主庫埠’,MASTER_USER=’主庫mysql使用者’,MASTER_PASSWORD=’主庫mysql密碼’,MASTER_LOG_FILE=’上面獲取的FIEL’,MASTER_LOG_POS=’上面獲取的position’;

MASTER_LOG_FILE 從主庫的該log_bin檔案開始讀取同步資訊,主庫show master status返回結果

MASTER_LOG_POS 從檔案中指定位置開始讀取,主庫show master status返回結果

執行 start slave;開始同步

執行 show slave status;檢視同步狀態

只有【Slave_IO_Running】和【Slave_SQL_Running】都是Yes,則同步是正常的。
如果是No或者Connecting都不行,可檢視mysql-error.log,以排查問題。

3 配置Atlas讀寫分離

上傳atlas安裝包Atlas-2.2.1.el6.x86_64.rpm到伺服器

執行 rpm -i Atlas-2.2.1.el6.x86_64.rpm 安裝altas,安裝後的路徑為/usr/local/mysql-proxy

修改配置檔案 vim /usr/local/mysql-proxy/conf/test.cnf

配置檔案中引數都有描述,配置以上述配置檔案中為準

開啟埠如上面配置mysql的開啟埠,開啟配置的proxy-address所有配置的埠

Atlas啟動,停止,重啟命令

/usr/local/mysql-proxy/bin/mysql-proxyd test start 啟動

/usr/local/mysql-proxy/bin/mysql-proxyd test stop 停止

/usr/local/mysql-proxy/bin/mysql-proxyd test restart 重啟

然後在專案配置,使用Atlas所在伺服器所在ip,埠使用Atlas中proxy-address配置埠,使用者使用主庫使用者和密碼,主庫和從庫使用者密碼需要一致