บน Debian 8 คุณสามารถใช้กลไก Systemd: ไม่ต้องการmysqld_multi
อีกต่อไป
หมายเหตุ:ฉันใช้รุ่น MariaDB! ไม่แน่ใจว่ามันทำงานกับแพ็คเกจ MySQL 'คลาสสิค' หรือไม่
จาก/lib/systemd/system/mariadb@.service
:
รุ่น mariadb หลายอินสแตนซ์ สำหรับถ้าคุณเรียกใช้ verions mutiple ในครั้งเดียว ยังใช้สำหรับ mariadb @ bootstrap เพื่อ bootstrap Galera
สร้างไฟล์กำหนดค่า /etc/mysql/conf.d/ {instancename} .cnf ของฉัน
เริ่มต้นเป็น systemctl เริ่มต้น mariadb@{instancename}.server
ดังนั้นสร้างไฟล์/etc/mysql/conf.d/myserver2.cnf
และระบุไฟล์ใหม่ pid / socket / datadir และพอร์ตเครือข่าย:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld-server2.pid
socket = /var/run/mysqld/mysqld-server2.sock
port = 3307
basedir = /usr
datadir = /var/lib/mysql-server2
tmpdir = /tmp
แก้ไข:ระวังว่าเช่น MySQL แรกที่ไม่ได้อ่านไฟล์ config นี้ด้วยที่ด้านล่างของ!includedir /etc/mysql/conf.d/*
/etc/mysql/my.cnf
หากเป็นกรณีนี้ให้แทนที่!includedir
ด้วยหนึ่ง!include
ในไฟล์กำหนดค่าอื่น ๆ นอกเหนือจาก myserver2.cnf:
#!includedir /etc/mysql/conf.d/*
!include /etc/mysql/conf.d/conf1.cnf
!include /etc/mysql/conf.d/confX.cnf
เอกสารอย่างเป็นทางการของ MySQL ระบุว่าคุณต้องตั้งชื่อ[mysqld]
เป็น[mysqld@server2]
( https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html#systemd-multiple-mysql-instances ) แต่สิ่งนี้ไม่สามารถใช้ได้กับ MariaDB . [mysqld]
ดังนั้นเพียงแค่ให้
ก่อนเริ่ม daemon ใหม่อย่าลืมสร้าง datadir และไฟล์ที่ต้องการ:
mkdir /var/lib/mysql-server2
chown mysql:mysql /var/lib/mysql-server2
mysql_install_db --datadir=/var/lib/mysql-server2
ให้รีโหลด systemd daemon ด้วย:
systemctl daemon-reload
และถ้าคุณต้องการเริ่มภูตนี้เมื่อบูต:
systemctl enable mariadb@server2
ในการเริ่มต้น:
service mariadb@server2 start