CentOS下mysql多實(shí)例操作指南-創(chuàng)新互聯(lián)

Mysql工作中無處不在,無數(shù)次安裝,優(yōu)化,一直沒有時(shí)間,整理進(jìn)行歸檔,最近在做mysql的Dass服務(wù),把最近遇到的問題,進(jìn)行整理,梳理一份操作指南;供大家參考;

創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,先為播州等服務(wù)建站,播州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為播州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

序言

Mysql多實(shí)例即一臺(tái)服務(wù)器上運(yùn)行多個(gè)Mysql服務(wù)進(jìn)程 ,開啟不同的服務(wù)端口,通過不同的socket 監(jiān)聽不同的服務(wù)端口來提供各自的服務(wù)。

Mysql多例的好處:

1、 有效利用服務(wù)器資源:通過多實(shí)例地配置,可以將服務(wù)器剩余的資源充分利用起來。
 2、 資源互相搶占問題:資源互相搶占問題,當(dāng)某個(gè)服務(wù)實(shí)例服務(wù)并發(fā)很高時(shí)或者開啟慢查詢時(shí),會(huì)消耗更多的內(nèi)存、CPU、磁盤IO資源,導(dǎo)致服務(wù)器上的其他實(shí)例提供服務(wù)的質(zhì)量下降。
 3、 節(jié)約資源。

部署多實(shí)例的兩種方式

  1. 使用多個(gè)配置文件啟動(dòng)不同的進(jìn)程來實(shí)現(xiàn)多實(shí)例,這種方式的優(yōu)勢(shì)邏輯簡(jiǎn)單,配置簡(jiǎn)單,缺點(diǎn)是管理起來不太方便;
  2. 通過官方自帶的mysqld_multi使用單獨(dú)的配置文件來實(shí)現(xiàn)多實(shí)例,這種方式定制每個(gè)實(shí)例的配置不太方面,優(yōu)點(diǎn)是管理起來很方便,集中管理;

同一開發(fā)環(huán)境下安裝兩個(gè)數(shù)據(jù)庫,必須處理以下問題

  • 配置文件安裝路徑不能相同
  • 數(shù)據(jù)庫目錄不能相同
  • 啟動(dòng)腳本不能同名
  • 端口不能相同
  • socket文件的生成路徑不能相同

    Mysql多實(shí)例操作指南

    具體詳細(xì)參考官網(wǎng) (https://dev.mysql.com/doc/refman/5.7/en/installing.html)

  • mysql的安裝方法有多種,如二進(jìn)制安裝、源碼編譯安裝、yum安裝;
  • yum安裝都是默認(rèn)路徑,不利于后期維護(hù),安裝相對(duì)簡(jiǎn)單;
  • 源碼安裝編譯的過程比較長(zhǎng),若沒有對(duì)源碼進(jìn)行修改且要求使用mysql較高版本;
  • 建議使用二進(jìn)制安裝。本文以二進(jìn)制安裝mysql,且使用mysqld_mutil進(jìn)行mysql多實(shí)例管理。

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

centos7 x64 參考地址:https://dev.mysql.com/downloads/mysql/
mysql 5.7.22(壓縮版)

  • 下載mysql
cd /usr/local  
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
  • 解壓安裝
tar -zxvf  mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  
mv mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  /usr/local/mysql

初始化用戶組及用戶

創(chuàng)建一個(gè)mysql用戶組及用戶,且這個(gè)用戶是不可登錄的
創(chuàng)建用戶組:groupadd mysql
創(chuàng)建不可登錄用戶:useradd -g mysql -s /sbin/nologin -d /opt/mysql mysql
查看下創(chuàng)建后的用戶信息:id msyql

 id mysql
uid=501(mysql) gid=501(mysql) groups=501(mysql)

創(chuàng)建相關(guān)目錄

cd /  
mkdir /data  
cd /data  
mkdir mysql  
cd mysql   
mkdir {mysql_3306,mysql_3307}  
cd /data/mysql/mysql_3306  
mkdir {data,log,tmp}  
cd /data/mysql/mysql_3307  
mkdir {data,log,tmp}

更改目錄權(quán)限

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

添加環(huán)境變量

echo 'export PATH=$PATH:/usr/local/mysql/bin' >>  /etc/profile  
source /etc/profile

CentOS下mysql多實(shí)例操作指南

檢查是否配置

cat /etc/profile

復(fù)制my.cnf文件到etc目錄(mysql 5.722沒有my-default.cnf ,需要自動(dòng)手動(dòng)創(chuàng)建或者之前的地方進(jìn)行copy)

  • 自己創(chuàng)建
    vim /etc/my.cnf

    修改my.cnf

    將以下內(nèi)容,全部替換 /etc/my.cnf中的內(nèi)容(以下配置,已集成mysql主從配置)

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld_multi] 
mysqld = /usr/local/mysql/bin/mysqld_safe 
mysqladmin = /usr/local/mysql/bin/mysqladmin 
log = /data/mysql/mysqld_multi.log 

[mysqld] 
user=mysql 
basedir = /usr/local/mysql 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld3306] 
mysqld=mysqld 
mysqladmin=mysqladmin 
datadir=/data/mysql/mysql_3306/data 
port=3306 
server_id=3306 
socket=/tmp/mysql_3306.sock 
log-output=file 
slow_query_log = 1 
long_query_time = 1 
slow_query_log_file = /data/mysql/mysql_3306/log/slow.log 
log-error = /data/mysql/mysql_3306/log/error.log 
log-bin = /data/mysql/mysql_3306/log/mysql3306_bin
binlog-ignore-db = mysql 

[mysqld3307] 
mysqld=mysqld 
mysqladmin=mysqladmin
datadir=/data/mysql/mysql_3307/data 
port=3307 
server_id=3307 
socket=/tmp/mysql_3307.sock 
log-output=file 
slow_query_log = 1 
long_query_time = 1 
slow_query_log_file = /data/mysql/mysql_3307/log/slow.log 
log-error = /data/mysql/mysql_3307/log/error.log 
log-bin = /data/mysql/mysql_3307/log/mysql3307_bin

replicate-ignore-db=mysql
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
read_only

初始化數(shù)據(jù)庫

初始化各個(gè)實(shí)例:初始化完后會(huì)在日志中生成密碼,記得保存,初始化密碼用到

cd /usr/local/mysql/

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

##開啟各實(shí)例的SSL連接
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3306/data/
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3307/data/

PS:
--basedir:mysql的安裝目錄
--datadir:數(shù)據(jù)庫的數(shù)據(jù)文件目錄

查看數(shù)據(jù)庫是否初始化成功

cd /data/mysql/mysql_3306/data

CentOS下mysql多實(shí)例操作指南

設(shè)置啟動(dòng)文件

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

給予腳本可執(zhí)行權(quán)限

chmod +x /etc/init.d/mysqld_multi

加入service服務(wù)管理

chkconfig --add mysqld_multi

mysqld_multi進(jìn)行多實(shí)例管理

  • 啟動(dòng)全部實(shí)例:
    /usr/local/mysql/bin/mysqld_multi start
  • 查看全部實(shí)例狀態(tài):
    /usr/local/mysql/bin/mysqld_multi report
  • 啟動(dòng)單個(gè)實(shí)例:
    /usr/local/mysql/bin/mysqld_multi start 3306
  • 停止單個(gè)實(shí)例:
    /usr/local/mysql/bin/mysqld_multi stop 3306
  • 停止
    mysqld_multi stop 3306 --password=root
    #or 最好用這個(gè)
    mysqladmin -S /tmp/mysql_3306.sock -uroot -p shutdown
  • 查看單個(gè)實(shí)例狀態(tài):
    /usr/local/mysql/bin/mysqld_multi report 3306
  • 查看實(shí)例的監(jiān)聽端口:
    ss -tulpn|grep mysqld

    CentOS下mysql多實(shí)例操作指南

    修改密碼

    mysql -S /tmp/mysql_3306.sock -p
  • 輸入之前記錄的密碼,進(jìn)入進(jìn)行密碼設(shè)置
set password=password('123456');
  • 使修改生效;或者重啟服務(wù)
flush privileges;

CentOS下mysql多實(shí)例操作指南

應(yīng)用路徑:/data/web/wordpress

nginx 配置:/usr/local/openresty/nginx/conf/site-enable/help.conf

3307的就不寫了,你按照以上方法,進(jìn)行操作;

設(shè)置遠(yuǎn)程連接mysql:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

FLUSH PRIVILEGES; 

其中,root 是用戶名,% 表示所有人都可以訪問,password是密碼,盡量不用使用root,安全很重要
如果你看到當(dāng)前位置,你已經(jīng)成功了,致敬在路上學(xué)習(xí)的小伙伴伴,與你一起知識(shí)總結(jié);
如果感覺還不錯(cuò),就分享出去,后續(xù)給大家介紹,mysql主從操作構(gòu)建;

mysql的經(jīng)典工作操作指南;

Percona Toolkit

https://www.percona.com/downloads/percona-toolkit/LATEST/

percona-xtrabackup

https://www.percona.com/doc/percona-xtrabackup/2.1/xtrabackup_bin/incremental_backups.html#

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享標(biāo)題:CentOS下mysql多實(shí)例操作指南-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article6/cdisog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站建設(shè)、小程序開發(fā)App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作