Rumah >pangkalan data >tutorial mysql >Bagaimana untuk memasang berbilang MySQL pada pelayan yang sama

Bagaimana untuk memasang berbilang MySQL pada pelayan yang sama

WBOY
WBOYke hadapan
2023-05-29 12:10:272745semak imbas

1. Persediaan sebelum pemasangan

Sebelum memasang berbilang contoh MySQL, persediaan berikut perlu dilakukan:

  1. 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/

  2. Sediakan berbilang. Direktori data MySQL Anda boleh mencipta direktori yang berbeza untuk menyokong contoh MySQL yang berbeza, seperti: /data/mysql1, /data/mysql2, dsb.

  3. 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:

  1. 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

  1. 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

  1. 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

  1. 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

Berikut ialah konfigurasi contoh mysql2

[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

  1. 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

    Sediakan persekitaran Docker
  1. Anda perlu memasang persekitaran Docker pada pelayan terlebih dahulu dan tarik imej Docker MySQL arahan untuk menarik versi terkini imej MySQL:

$ docker pull mysql/mysql- server:latest

    Mulakan bekas MySQL
  1. Anda boleh memulakan berbilang bekas MySQL untuk memenuhi keperluan berbilang kejadian, dan anda boleh menentukan port berbeza, volum data dan fail konfigurasi untuk membezakan kejadian yang berbeza. Berikut ialah contoh arahan untuk memulakan dua contoh MySQL yang berbeza:

$ 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


Konfigurasikan instance MySQL
  1. Lekapkan volum data yang berbeza dalam bekas yang berbeza, setiap volum data mengandungi konfigurasi tertentu fail my.cnf. Berikut ialah contoh my.cnf:
Berikut ialah konfigurasi contoh mysql1

[mysqld]

datadir = /var/lib/mysql

soket = /var/run/ mysqld/mysqld.sock


Nota: Tetapan ini hanya berkuat kuasa untuk MySQL 5.7 atau versi terdahulu

symbolic-links = 0

Konfigurasi MySQL tersuai

[mysqld]

datadir = /var/lib/mysql

soket = /var/run/mysqld/mysqld.sock

port = 3306
pengguna = mysql
log -error = / var/lib/mysql/mysql.err
pid-file = /var/run/mysqld/mysqld.pid

Berikut ialah konfigurasi contoh mysql2

[mysqld2]
datadir = /var/lib/mysql
soket = /var/run/mysqld/mysqld.sock
pautan simbolik = 0

Konfigurasi MySQL tersuai

[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

  1. 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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam