怎么利用mysqld_multi配置单机多实例
发布时间:2022-01-12 12:17:37 所属栏目:MySql教程 来源:互联网
导读:这篇文章给大家分享的是有关怎么利用mysqld_multi配置单机多实例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 环境:redhat6.5+mysql5.6.21 [root@linfytest2 bin]# cat /etc/redhat-release Red Hat Enterprise Linux Se
这篇文章给大家分享的是有关怎么利用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 感谢各位的阅读!关于“怎么利用mysqld_multi配置单机多实例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧! (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐