MySQL多例項
阿新 • • 發佈:2020-10-25
1.單例項: 1個程序 + 多個執行緒 + 單個預分配的記憶體空間 2.多例項: 多個程序 + 多個執行緒 + 多個預分配的記憶體空間 3.MySQL多例項: 1)多個埠 2)多個socket檔案 3)多個server_id 4)多個日誌檔案 5)多個配置檔案 6)多個數據目錄
[root@db02 /service]# mkdir /service/{3307,3308,3309}
[root@db02 /service]# vim /service/3307/my.cnf
[mysqld]
basedir =/service/mysql
datadir=/service/3307/data
port=3307
socket=/service/3307/data/mysql.sock
server_id=7
log-error=/service/3307/data/mysql.err
[root@db02 /service]# vim /service/3308/my.cnf
[mysqld]
basedir=/service/mysql
datadir=/service/3308/data
port=3308
socket=/service/3308/data/mysql.sock
server_id=8
log-error=/service/3308/data/mysql.err
[root@db02 /service]# vim /service/3309/my.cnf
[mysqld]
basedir=/service/mysql
datadir=/service/3309/data
port=3309
socket=/service/3309/data/mysql.sock
server_id=9
log-error=/service/3309/data/mysql.err
[root@db02 /service]# cd mysql/scripts/
[root@db02 /service/mysql/scripts]# ./mysql_install_db --defaults-file=/service/3307/my.cnf --user=mysql --basedir=/service/mysql --datadir=/service/3307 /data
[root@db02 /service/mysql/scripts]# ./mysql_install_db --defaults-file=/service/3308/my.cnf --user=mysql --basedir=/service/mysql --datadir=/service/3308/data
[root@db02 /service/mysql/scripts]# ./mysql_install_db --defaults-file=/service/3309/my.cnf --user=mysql --basedir=/service/mysql --datadir=/service/3309/data
[root@db02 /service]# tree -L 3 ./
./
├── 3307
│ ├── data
│ │ ├── ibdata1
│ │ ├── ib_logfile0
│ │ ├── ib_logfile1
│ │ ├── mysql
│ │ ├── mysql.err
│ │ ├── performance_schema
│ │ └── test
│ └── my.cnf
├── 3308
│ ├── data
│ │ ├── ibdata1
│ │ ├── ib_logfile0
│ │ ├── ib_logfile1
│ │ ├── mysql
│ │ ├── mysql.err
│ │ ├── performance_schema
│ │ └── test
│ └── my.cnf
├── 3309
│ ├── data
│ │ ├── ibdata1
│ │ ├── ib_logfile0
│ │ ├── ib_logfile1
│ │ ├── mysql
│ │ ├── mysql.err
│ │ ├── performance_schema
│ │ └── test
│ └── my.cnf
├── mysql -> /service/mysql-5.6.42
└── mysql-5.6.42
[root@db02 /service]# chown -R mysql.mysql /service/
[root@db02 /service]# mysqld_safe --defaults-file=/service/3307/my.cnf &
[root@db02 /service]# mysqld_safe --defaults-file=/service/3308/my.cnf &
[root@db02 /service]# mysqld_safe --defaults-file=/service/3309/my.cnf &
[root@db02 /service]# netstat -lntp | grep 330
tcp6 0 0 :::3306 :::* LISTEN 24992/mysqld
tcp6 0 0 :::3307 :::* LISTEN 32069/mysqld
tcp6 0 0 :::3308 :::* LISTEN 32234/mysqld
tcp6 0 0 :::3309 :::* LISTEN 32394/mysqld
[root@db02 /service]# mysql -uroot -S /service/3307/data/mysql.sock -e 'show variables like "server_id"'
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 7 |
+---------------+-------+
[root@db02 /service]# mysql -uroot -S /service/3308/data/mysql.sock -e 'show variables like "server_id"'
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 8 |
+---------------+-------+
[root@db02 /service]# mysql -uroot -S /service/3309/data/mysql.sock -e 'show variables like "server_id"'
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 9 |
+---------------+-------+
[root@db02 /service]# mysqladmin -uroot password -S /service/3307/data/mysql.sock
New password: 123
Confirm new password: 123
[root@db02 /service]# mysqladmin -uroot password -S /service/3308/data/mysql.sock
New password: 123
Confirm new password: 123
[root@db02 /service]# mysqladmin -uroot password -S /service/3309/data/mysql.sock
New password: 123
Confirm new password: 123
#1.編寫連線資料庫檔案
[root@db02 /service]# cat /usr/bin/mysql3307
mysql -uroot -p123 -S /service/3307/data/mysql.sock
[root@db02 /service]# cat /usr/bin/mysql3308
mysql -uroot -p123 -S /service/3308/data/mysql.sock
[root@db02 /service]# cat /usr/bin/mysql3309
mysql -uroot -p123 -S /service/3309/data/mysql.sock
#2.授權執行許可權
[root@db02 /service]# chmod +x /usr/bin/mysql*
#3.直接使用命令連線
[root@db02 /service]# mysql3307
[root@db02 /service]# mysql3308
[root@db02 /service]# mysql3309