Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk memasang berbilang contoh MySQL pada pelayan yang sama

Bagaimana untuk memasang berbilang contoh MySQL pada pelayan yang sama

PHPz
PHPzasal
2023-04-20 13:47:131819semak imbas

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan secara meluas dalam pengurusan data pelbagai aplikasi. Dalam penggunaan sebenar, kadangkala perlu memasang berbilang tika MySQL pada masa yang sama untuk menyokong aplikasi atau senario yang berbeza Artikel ini akan memperkenalkan cara memasang berbilang tika MySQL pada pelayan yang sama.

1. Persediaan sebelum pemasangan

Sebelum memasang berbilang contoh MySQL, anda perlu membuat persediaan berikut:

  1. Sediakan berbilang pakej pemasangan MySQL , anda boleh memuat turun versi yang sesuai untuk persekitaran anda sendiri daripada tapak web rasmi MySQL: https://dev.mysql.com/downloads/
  2. Sediakan berbilang direktori data MySQL, dan anda boleh mencipta direktori yang berbeza untuk menyokong Instans 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. Nyahzip MySQL Pasang pakej dan namakan semula

Selepas menyahzip berbilang pakej pemasangan MySQL, anda boleh menamakan semula pakej tersebut kepada nama yang berbeza untuk pembezaan yang mudah, seperti: mysql1, mysql2, dsb.

$ 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

  • Setiap contoh MySQL memerlukan direktori data bebas, yang perlu dimulakan menggunakan perintah mysql_install_db. 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
    1. Untuk setiap contoh MySQL, anda perlu menggunakan arahan mysqld_safe untuk memasang perkhidmatan MySQL Berikut ialah arahan untuk memasang kejadian mysql1 dan 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 start
    $ service mysql2 start

    Konfigurasikan tika MySQL
    1. Untuk setiap tika MySQL, fail konfigurasi bebas my.cnf diperlukan. Anda boleh mencipta fail my.cnf dalam pemasangan MySQL direktori. Berikut ialah fail my.cnf Contoh:

    [mysqld]

    datadir=/data/mysql1

    soket=/share/tmp/mysql1.sock
    port = 3306
    pengguna=mysql
    log -error=/data/mysql1/mysql.err
    pid-file=/share/tmp/mysql1.pid

    Berikut ialah konfigurasi contoh mysql2

    [mysqld2]

    datadir=/data/mysql2

    socket=/share/tmp/mysql2.sock
    port = 3307
    user=mysql
    log-error= /data/mysql2/mysql.err
    pid -file=/share/tmp/mysql2.pid

    Konfigurasikan pengguna MySQL
    1. 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/mysql2
    $ chown -R mysql:mysql /share/opt/mysql1
    $ chown: -R mysql1 mysql /share/opt/mysql2

    3. Pasang berbilang tika MySQL berdasarkan bekas Docker

    Sediakan persekitaran Docker
    1. Anda perlu memasang Docker persekitaran pada pelayan dahulu dan tarik imej Docker MySQL Berikut ialah tarik Perintah untuk versi terkini imej MySQL:

    $ docker pull mysql/mysql-server:latest

    Mulakan bekas MySQL
    1. Anda boleh memulakan berbilang MySQL mengikut Bekas digunakan untuk memenuhi keperluan berbilang kejadian, dan kejadian berbeza boleh dibezakan dengan menentukan port, volum data dan fail konfigurasi 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. Anda boleh mencipta fail konfigurasi my.cnf yang berbeza dalam volum data yang berbeza dan kemudian melekapkannya secara berasingan . 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 instance mysql2

    [mysqld2]

    datadir = /var/lib/mysql

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

    symbolic-links = 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 contoh MySQL

    Selepas mengkonfigurasi berbilang tika MySQL, anda boleh menggunakan berbilang tika MySQL dengan menyambung ke port yang sepadan, menggunakan nama tika pangkalan data yang sepadan dan mengkonfigurasi pengguna yang sepadan:

    mysql -h localhost -u username1 -p -P 3306 -D database1
    mysql -h localhost -u username2 -p -P 3307 -D database2

    Ringkasan

    Pengenalan kepada artikel ini Menerangkan cara memasang berbilang contoh MySQL pada pelayan yang sama, termasuk pemasangan berdasarkan pakej binari dan pemasangan berdasarkan bekas Docker. Dengan menggunakan berbilang contoh MySQL secara rasional, aplikasi dan senario yang berbeza boleh disokong dengan lebih baik, dan prestasi serta kebolehpercayaan pangkalan data boleh dipertingkatkan.

    Atas ialah kandungan terperinci Bagaimana untuk memasang berbilang contoh MySQL pada pelayan yang sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

  • Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn