mysql多實例安裝


MySQL多實例介紹及MySQL多實例的特點

1、什么是MySQL多實例?

   MySQL多實例就是在一台機器上開啟多個不同的服務端口(如:3306,3307,3308),運行多個MySQL服務進程,通過不同的socket監聽不同的服務端口來提供各自的服務。

2、MySQL多實例的特點有以下幾點:

   1)、有效利用服務器資源,當單個服務器資源有剩余時,可以充分利用剩余的資源提供更多的服務。

   2)、節約服務器資源

   3)、資源互相搶占問題,當某個服務實例服務並發很高時或者開啟慢查詢時,會消耗更多的內存、CPU、磁盤IO資源,導致服務器上的其他實例提供服務的質量下降。

二,MySQL多實例的安裝配置

系統環境:centos 6.9 64 

內核版本: 2.6.32-696.el6.x86_64

mysql版本:5.7.16

程序目錄: /usr/local/mysql

# mkdir /usr/local/mysql

實例系統文件目錄: /usr/local/mysql/dbsxxxx

# mkdir -p /usr/local/mysql/{dbs3007,dbs3008}

實例數據文件目錄:  /data/mysql/dataxxxx

# mkdir -p /data/mysql/{data3007,data3008}

1、首先創建mysql用戶和組:

# groupadd mysql

# useradd -s /sbin/nologin -g mysql -M mysql

2、下載MySQL源碼包並解壓安裝

# cd /usr/local/src/         約定以后安裝軟件就下載到這里使用

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

# yum search libaio mysqllibiao庫有依賴,查詢如果沒有安裝則進行安裝。

# yum install -y libaio libiao庫進行安裝。

# tar -xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar 這里解tar包后發現有兩個包:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz mysql-test-5.7.17-linux-glibc2.5-x86_64.tar.gz,我使用mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz這個包。

# tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 解包

# cp -R mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql 將文件復制到程序目錄下

3、創建MySQL多實例配置文件

# cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/dbs3007/my3007.cnf

# cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/dbs3008/my3008.cnf

# vim /usr/local/mysql/dbs3007/my3007.cnf     my3008.cnf也相同方法加入如下行

[mysqld]

socket = /tmp/mysql3007.sock

port = 3007

pid-file = /data/mysql/data3007/mysql3007.pid

datadir = /data/mysql/data3007

basedir = /usr/local/mysql/dbs3007

user = mysql

server-id=3007

[client]

port = 3007

socket = /tmp/mysql3007.sock

[mysql]

no-auto-rehash

socket = /tmp/mysql3007.sock

prompt=\\u@\\h[\\d]> \\

4、改變目錄和文件屬組及屬主

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

# chown -R mysql:mysql /data/mysql/

5初始化MySQL數據目錄並添加mysql命令道全局路徑

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

# source /etc/profile

# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.17-linux-glibc2.5-x86_64/ --datadir=/data/mysql/data3006/

HJ7pwBX(6??P

# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/dbs3007 --datadir=/data/mysql/data3007/ 初始化實例3007

記錄初始密碼 t4-h1ULfDrrd

# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/dbs3008 --datadir=/data/mysql/data3008/ 初始化實例3008

記錄初始密碼 Fu*=QeSK#8c!

6、啟動、連接、關閉多實例

# mysqld_safe --defaults-file=/usr/local/mysql/dbs3007/my3007.cnf & 啟動對應實例

# mysql -uroot -pt4-h1ULfDrrd -S /tmp/mysql3007.sock 套接字方式連接

mysql> set password = password('3007passwd'); 登錄第一步必須先修改密碼,否則會影響使用

# mysql -uroot -p3007passwd -P3007 --protocol=tcp     tcp方式連接

# mysql -h127.0.0.1 -uroot -p3007passwd -P3007

# mysqladmin -uroot -P3007 -p3007passwd -S /tmp/mysql3007.sock shutdown 關閉實例

# mysqladmin -h127.0.0.1 -P3007 -p3007passwd shutdown

(以上操作使用了明顯密碼,實例操作中避免此類事情)

3008實例用相同方法操作將密碼改為 3008passwd

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM