Rumah >pangkalan data >tutorial mysql >Bagaimana untuk memasang berbilang MySQL pada pelayan yang sama
1. Persediaan sebelum pemasangan
Sebelum memasang berbilang contoh MySQL, persediaan berikut perlu dilakukan:
Sediakan berbilang pakej pemasangan MySQL Anda boleh memuat turun versi yang sesuai untuk persekitaran anda dari tapak web rasmi MySQL: https://dev.mysql.com/downloads/
Sediakan berbilang. Direktori data MySQL Anda boleh mencipta direktori yang berbeza untuk menyokong contoh MySQL yang berbeza, seperti: /data/mysql1, /data/mysql2, dsb.
Untuk setiap contoh MySQL, konfigurasikan pengguna MySQL bebas, yang mempunyai laluan pemasangan MySQL yang sepadan dan kebenaran direktori data.
2 Pasang berbilang tika MySQL berdasarkan pakej binari
Berikut ialah langkah untuk memasang berbilang tika MySQL berdasarkan pakej binari:
Ekstrak Pakej Pemasangan MySQL dan menamakannya
selepas unzipping pelbagai pakej pemasangan MySQL, anda boleh menamakannya dengan nama yang berbeza untuk pembezaan mudah contoh: mysql1, mysql2, dll.
$ tar -zxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.gz
$ mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql1>$$ mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql2
Memulakan direktori data
Selepas memulakan menggunakan perintah mysql_install_db, setiap tika MySQL mesti mempunyai direktori data bebasnya sendiri. Berikut ialah arahan untuk memulakan kejadian mysql1 dan mysql2:
$ cd mysql1
$ bin/mysqld --initialize --user=mysql --basedir=/share/opt/mysql1 --datadir= /data /mysql1
$ cd ../mysql2
$ bin/mysqld --initialize --user=mysql --basedir=/share/opt/mysql2 --datadir=/data/mysql2
Pasang perkhidmatan MySQL
Untuk setiap contoh MySQL, anda perlu menggunakan perintah mysqld_safe untuk memasang perkhidmatan MySQL Berikut ialah arahan untuk memasang mysql1 dan contoh mysql2:
$ cp support-files/mysql.server /etc/init.d/mysql1
$ cp support-files/mysql.server /etc/init.d/mysql2
$ chmod +x /etc/init. d/mysql1
$ chmod +x /etc/init.d/mysql2
$ chkconfig --add mysql1
$ chkconfig --add mysql2
$ service mysql1 mulakan
$ service mysql2 start
Konfigurasikan tika MySQL
Untuk setiap contoh MySQL, fail konfigurasi bebas my.cnf diperlukan, yang boleh dibuat dalam direktori pemasangan MySQL A my.cnf fail, berikut ialah contoh fail my.cnf:
[mysqld]
datadir=/data/mysql1
socket= /share/tmp/mysql1.sock
port = 3306
user=mysql
log-error=/data/mysql1/mysql.err
pid-file=/share/tmp/mysql1.pid
[mysqld2]
datadir=/data/mysql2
soket=/share/tmp/mysql2.sock
port = 3307
user=mysql
log-error= /data/mysql2/mysql.err
pid-file=/share/tmp/mysql2.pid
Konfigurasikan pengguna MySQL
Gunakan arahan berikut untuk mencipta pengguna MySQL dan berikan kebenaran direktori yang sepadan:
$ useradd -r -g mysql -s /bin/false mysql1
$ useradd -r -g mysql -s /bin/false mysql2
$ chown -R mysql:mysql /data/mysql1
$ chown -R mysql:mysql /data/mysql>$$ chown - R mysql:mysql /share/opt/mysql2
3
$ docker pull mysql/mysql- server:latest
$ docker run --name=mysql1 -d
-e MYSQL_ROOT_PASSWORD=your_password-p 3306:3306
-v / data/mysql1:/var/lib/mysql
-v /share/opt/mysql1:/etc/mysql
mysql/mysql-server:latest
$ docker run --name=mysql2 -d
-e MYSQL_ROOT_PASSWORD=kata laluan_anda
-p 3307:3306
-v /data/mysql2:/var/lib/mysql
-v /share/opt/mysql2: >etc🎜 mysql/mysql-server:latest
Nota: Tetapan ini hanya berkuat kuasa untuk MySQL 5.7 atau versi terdahulu
port = 3306
pengguna = mysql
log -error = / var/lib/mysql/mysql.err
pid-file = /var/run/mysqld/mysqld.pid
[mysqld2]
datadir = /var/lib/mysql
soket = /var/run/mysqld/mysqld.sock
pautan simbolik = 0
[mysqld2]
datadir = /var/lib/mysql
soket = /var/run/mysqld/mysqld.sock
port = 3307
pengguna = mysql
log-error = /var/lib/mysql/mysql.err
pid-file = /var/run/mysqld/mysqld.pid
Gunakan berbilang tika MySQL
Selepas mengkonfigurasi berbilang tika MySQL, anda boleh menyambung ke port yang sepadan, gunakan nama contoh pangkalan data yang sepadan dan konfigurasikan pengguna yang sepadan Untuk menggunakan berbilang contoh MySQL:
mysql -h localhost -u username1 -p -P 3306 -D database1
mysql -h localhost -u username2 -p -P 3307 -D database2
Atas ialah kandungan terperinci Bagaimana untuk memasang berbilang MySQL pada pelayan yang sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!