利用mysqld_multi配置單機多例項
環境:redhat6.5+mysql5.6.21
[root@linfytest2 bin]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@linfytest2 bin]# ./mysqld --version
./mysqld Ver 5.6.21 for Linux on x86_64 (Source distribution)
mysqld_multi的樣例:
[root@linfytest2 bin]# ./mysqld_multi --example
# 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/local/mysql/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/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = multi_admin
password = my_password
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /usr/local/mysql/data2/hostname.pid2
datadir = /usr/local/mysql/data2
language = /usr/local/mysql/share/mysql/english
user = unix_user1
[mysqld3]
mysqld = /path/to/mysqld_safe
ledir = /path/to/mysqld-binary/
mysqladmin = /path/to/mysqladmin
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/data3/hostname.pid3
datadir = /usr/local/mysql/data3
language = /usr/local/mysql/share/mysql/swedish
user = unix_user2
[mysqld4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /usr/local/mysql/data4/hostname.pid4
datadir = /usr/local/mysql/data4
language = /usr/local/mysql/share/mysql/estonia
user = unix_user3
[mysqld6]
socket = /tmp/mysql.sock6
port = 3311
pid-file = /usr/local/mysql/data6/hostname.pid6
datadir = /usr/local/mysql/data6
language = /usr/local/mysql/share/mysql/japanese
user = unix_user4
1、分別建立埠為3306和3307的資料庫
2、建立引數檔案my_multi.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /var/lib/mysql/mysqld_multi.log
user = multi_admin
password = 111111
[mysqld6]
datadir = /var/lib/mysql3306
pid-file = /var/lib/mysql3306/mysqld.pid
socket = /tmp/mysql3306.sock
port = 3306
[mysqld7]
datadir = /var/lib/mysql3307
socket = /tmp/mysql3307.sock
pid-file = /var/lib/mysql3307/mysqld.pid
port = 3307
3、啟動
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf report
Reporting MySQL servers
MySQL server from group: mysqld6 is not running
MySQL server from group: mysqld7 is not running
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf start
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf report
Reporting MySQL servers
MySQL server from group: mysqld6 is running
MySQL server from group: mysqld7 is running
[root@linfytest2 bin]# netstat -tunlp|grep mysql
tcp 0 0 :::3306 :::* LISTEN 17982/mysqld
tcp 0 0 :::3307 :::* LISTEN 17983/mysqld
4、停止
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf stop
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf report
Reporting MySQL servers
MySQL server from group: mysqld6 is not running
MySQL server from group: mysqld7 is not running
[root@linfytest2 bin]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@linfytest2 bin]# ./mysqld --version
./mysqld Ver 5.6.21 for Linux on x86_64 (Source distribution)
mysqld_multi的樣例:
[root@linfytest2 bin]# ./mysqld_multi --example
# 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/local/mysql/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/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = multi_admin
password = my_password
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /usr/local/mysql/data2/hostname.pid2
datadir = /usr/local/mysql/data2
language = /usr/local/mysql/share/mysql/english
user = unix_user1
[mysqld3]
mysqld = /path/to/mysqld_safe
ledir = /path/to/mysqld-binary/
mysqladmin = /path/to/mysqladmin
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/data3/hostname.pid3
datadir = /usr/local/mysql/data3
language = /usr/local/mysql/share/mysql/swedish
user = unix_user2
[mysqld4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /usr/local/mysql/data4/hostname.pid4
datadir = /usr/local/mysql/data4
language = /usr/local/mysql/share/mysql/estonia
user = unix_user3
[mysqld6]
socket = /tmp/mysql.sock6
port = 3311
pid-file = /usr/local/mysql/data6/hostname.pid6
datadir = /usr/local/mysql/data6
language = /usr/local/mysql/share/mysql/japanese
user = unix_user4
1、分別建立埠為3306和3307的資料庫
2、建立引數檔案my_multi.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /var/lib/mysql/mysqld_multi.log
user = multi_admin
password = 111111
[mysqld6]
datadir = /var/lib/mysql3306
pid-file = /var/lib/mysql3306/mysqld.pid
socket = /tmp/mysql3306.sock
port = 3306
[mysqld7]
datadir = /var/lib/mysql3307
socket = /tmp/mysql3307.sock
pid-file = /var/lib/mysql3307/mysqld.pid
port = 3307
3、啟動
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf report
Reporting MySQL servers
MySQL server from group: mysqld6 is not running
MySQL server from group: mysqld7 is not running
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf start
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf report
Reporting MySQL servers
MySQL server from group: mysqld6 is running
MySQL server from group: mysqld7 is running
[root@linfytest2 bin]# netstat -tunlp|grep mysql
tcp 0 0 :::3306 :::* LISTEN 17982/mysqld
tcp 0 0 :::3307 :::* LISTEN 17983/mysqld
4、停止
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf stop
[root@linfytest2 bin]# ./mysqld_multi --defaults-extra-file=/etc/my_multi.cnf report
Reporting MySQL servers
MySQL server from group: mysqld6 is not running
MySQL server from group: mysqld7 is not running
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/543979/viewspace-2082516/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysqld_multi搭建MySQL單機多例項服務MySql
- MySQL單機多例項配置MySql
- MySQL 使用mysqld_multi部署單機多例項詳細過程MySql
- MySQL入門--Mysqld_multi多例項MySql
- Linux下MySQL配置單機多例項LinuxMySql
- 基於mysqld_multi實現MySQL 5.7.24多例項多程式配置MySql
- MySQL 5.5.35 單機多例項配置詳解MySql
- mysql使用mysqld_multi工具啟動多例項MySql
- 技術乾貨 | 利用systemd管理MySQL單機多例項MySql
- mysql系列之多例項3—-基於mysqld_multi薦MySql
- MySQL單機多例項安裝並配置主從複製MySql
- MySQL多例項配置MySql
- canal同步mysql,監聽單例項,多例項配置MySql單例
- mysql的多例項配置MySql
- 配置nginx多例項(不同於虛擬主機)Nginx
- MySQL多例項使用mysqld_multi stop 無法關閉資料庫MySql資料庫
- 單機多例項執行 percona server 5.7Server
- MySQL 多例項配置管理:MySql
- MySQL 5.6同一物理主機配置多例項MySql
- rabbitmq單機多例項叢集與負載均衡MQ負載
- MySQL資料庫入門多例項配置MySql資料庫
- Tomcat多例項單應用部署方案Tomcat
- 使用mysqld_multi實現單系統中配置多個MySQL伺服器例項MySql伺服器
- Mysql:mysql多例項建立、配置檔案講解【四】MySql
- mysql多例項部署MySql
- 【MySQL】MySQL多例項開機自動重啟MySql
- 單機環境配置ASM例項ASM
- 單例項資料庫工具轉化多例項資料庫單例資料庫
- 單例項資料庫手工轉化多例項資料庫單例資料庫
- flutter 多例項實戰Flutter
- mysql多例項安裝MySql
- MySQL5.7 多例項MySql
- MySQL多例項環境部署MySql
- #Tomcat學習(3)#Tomcat多例項配置和反向代理叢集配置Tomcat
- mysql 5.7 多例項安裝MySql
- 單機環境安裝配置ASM例項ASM
- 多例項資料庫刪除例項資料庫
- mysqld_multi安裝多個mysql例項MySql