# This is an example of a my.cnf file for mysqld_multi.# Usually this file is located in home dir ~/.my.cnf or /etc/my.cnf## SOME IMPORTANT NOTES FOLLOW:## 1.COMMON USER## Make sure that the MySQL user, who is stopping the mysqld services, has# the same password to all MySQL servers being accessed by mysqld_multi.# This user needs to have the 'Shutdown_priv' -privilege, but for security# reasons should have no other privileges. It is advised that you create a# common 'multi_admin' user for all MySQL servers being controlled by# mysqld_multi. Here is an example how to do it:## GRANT SHUTDOWN ON *.* TO multi_admin@localhost IDENTIFIED BY 'password'## You will need to apply the above to all MySQL servers that are being# controlled by mysqld_multi. 'multi_admin' will shutdown the servers# using 'mysqladmin' -binary, when 'mysqld_multi stop' is being called.## 2.PID-FILE## If you are using mysqld_safe to start mysqld, make sure that every# MySQL server has a separate pid-file. In order to use mysqld_safe# via mysqld_multi, you need to use two options:## mysqld=/path/to/mysqld_safe# ledir=/path/to/mysqld-binary/## ledir (library executable directory), is an option that only mysqld_safe# accepts, so you will get an error if you try to pass it to mysqld directly.# For this reason you might want to use the above options within [mysqld#]# group directly.## 3.DATA DIRECTORY## It is NOT advised to run many MySQL servers within the same data directory.# You can do so, but please make sure to understand and deal with the# underlying caveats. In short they are:# - Speed penalty# - Risk of table/data corruption# - Data synchronising problems between the running servers# - Heavily media (disk) bound# - Relies on the system (external) file locking# - Is not applicable with all table types. (Such as InnoDB)# Trying so will end up with undesirable results.## 4.TCP/IP Port## Every server requires one and it must be unique.## 5.[mysqld#] Groups## In the example below the first and the fifth mysqld group was# intentionally left out. You may have 'gaps' in the config file. This# gives you more flexibility.## 6.MySQL Server User## You can pass the user=... option inside [mysqld#] groups. This# can be very handy in some cases, but then you need to run mysqld_multi# as UNIX root.## 7.A Start-up Manage Script for mysqld_multi## In the recent MySQL distributions you can find a file called# mysqld_multi.server.sh. It is a wrapper for mysqld_multi. This can# be used to start and stop multiple servers during boot and shutdown.## You can place the file in /etc/init.d/mysqld_multi.server.sh and# make the needed symbolic links to it from various run levels# (as per Linux/Unix standard). You may even replace the# /etc/init.d/mysql.server script with it.## Before using, you must create a my.cnf file either in /usr/my.cnf# or /root/.my.cnf and add the [mysqld_multi] and [mysqld#] groups.## The script can be found from support-files/mysqld_multi.server.sh# in MySQL distribution. (Verify the script before using)#[mysqld_multi]mysqld = /usr/bin/mysqld_safemysqladmin = /usr/bin/mysqladminuser = multi_adminpassword = my_password[mysqld2]socket = /tmp/mysql.sock2port = 3307pid-file = /var/lib/mysql2/hostname.pid2datadir = /var/lib/mysql2language = /usr/share/mysql/mysql/englishuser = unix_user1[mysqld3]mysqld = /path/to/mysqld_safeledir = /path/to/mysqld-binary/mysqladmin = /path/to/mysqladminsocket = /tmp/mysql.sock3port = 3308pid-file = /var/lib/mysql3/hostname.pid3datadir = /var/lib/mysql3language = /usr/share/mysql/mysql/swedishuser = unix_user2[mysqld4]socket = /tmp/mysql.sock4port = 3309pid-file = /var/lib/mysql4/hostname.pid4datadir = /var/lib/mysql4language = /usr/share/mysql/mysql/estoniauser = unix_user3[mysqld6]socket = /tmp/mysql.sock6port = 3311pid-file = /var/lib/mysql6/hostname.pid6datadir = /var/lib/mysql6language = /usr/share/mysql/mysql/japaneseuser = unix_user4
转载于:https://www.cnblogs.com/bossty/p/3820678.html