一、mysql多實例原理 在一臺伺服器上,mysql服務開啟多個不同的埠,運行多個服務進程。他們通過不同的 socket來監聽不同的埠互不幹擾地運行。 二、開發環境 ubuntu16.04.5LTS/i5/8G/500G/64位/mysql5.7.23/php7/apache2 三、配置步驟 1 ...
一、mysql多實例原理
在一臺伺服器上,mysql服務開啟多個不同的埠,運行多個服務進程。他們通過不同的 socket來監聽不同的埠互不幹擾地運行。
二、開發環境
ubuntu16.04.5LTS/i5/8G/500G/64位/mysql5.7.23/php7/apache2
三、配置步驟
1、創建
mysql實例數據存儲目錄
cd /var/lib/
mkdir 3308_mysql
chown -R mysql:mysql 3308_mysql //修改許可權
2、創建配置文件
(我的環境中,mysql配置主要是/etc/mysql/my.cnf,其中又相應的載入conf.d和mysql.conf.d文件夾中的文件。我們直接copy,然後修改部分重要內容即可)
cd /etc/mysql/
cp -r conf.d conf3308.d
cp my.cnf my3308.cnf
cp -r mysql.conf.d mysql3308.conf.d
vi my3308.cnf
修改內容如下
!includedir /etc/mysql/conf3308.d/
!includedir /etc/mysql/mysql3308.conf.d/
cd mysql3308.conf.d
vi mysqld.cnf
修改內容如下:
[mysqld_safe]
socket = /var/lib/3308_mysql/mysqldsafe.sock
#nice = 0[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/lib/3308_mysql/mysqld.pid
socket = /var/lib/3308_mysql/mysqld.sock
port = 3308
basedir = /usr
datadir = /var/lib/3308_mysqllog_error = /var/lib/3308_mysql/error.log
3、添加讀寫許可權apparmor
vi /etc/apparmor.d/usr.sbin.mysqld
在下麵添加:
/var/lib/3308_mysql/ r,
/var/lib/3308_mysql/** rwk,
讓apparmor重新載入配置文件
service apparmor reload
4、啟動實例
這裡得提醒大家的是,mysql_install_db初始化的方法已經不能在5.7版本使用了,親測了N種方法都失敗了,請使用以下命令。
mysqld --initialize-insecure --datadir=/var/lib/3308_mysql --user=mysql //初始化,其中--initialize-insecure 為創建時不帶密碼
mysqld_safe --defaults-file=/etc/mysql/my3308.cnf //啟動
執行 ctrl + z //讓實例後臺運行
此時我們可以看資料庫運行情況
netstat -anp | grep mysql
會看到
成功!監聽3308埠
5、設置實例密碼
mysql -uroot -p -S /var/lib/3308_mysql/mysqldsafe.sock -P 3308
Enter password: //直接enter,因為我們初始化時--initialize-insecure
mysql> use mysql
mysql> UPDATE user SET authentication_string= password ('123456') WHERE User='root';
mysql> exit
//重新啟動
mysqladmin -uroot -S /var/lib/3308_mysql/mysqldsafe.sock shutdown
mysqld_safe --defaults-file=/etc/mysql/my3308.cnf
ctrl + z
mysql -uroot -p -S /var/lib/3308_mysql/mysqldsafe.sock -P 3308
Enter password: //此時需要輸入剛纔設置的密碼
四、建庫測試
我們在3308中創建了庫db3308,我們去3306庫中並沒發現此庫
反過來我們在3306的資料庫操作對3308也沒有影響。
我們發現,各個庫獨立運行,互不幹擾。
五、開更多實例
重覆配置步驟即可