{"id":6871,"date":"2017-07-21T15:59:47","date_gmt":"2017-07-21T07:59:47","guid":{"rendered":"http:\/\/rmohan.com\/?p=6871"},"modified":"2017-07-21T16:03:05","modified_gmt":"2017-07-21T08:03:05","slug":"mysql-5-7-multi-instance-installation-deployment-instance","status":"publish","type":"post","link":"https:\/\/mohan.sg\/?p=6871","title":{"rendered":"MySQL 5.7 multi-instance installation deployment instance"},"content":{"rendered":"<p>1. Background<br \/>\nMySQL database centralized operation and maintenance, through a server, the deployment of running multiple MySQL service process, through a different socket to monitor different service ports to provide their services.\u00a0Each instance is independent of each other, each instance of the datadir, port, socket, pid are different.<\/p>\n<p>2. Multi-instance features<br \/>\n* Effective use of server resources, when a single server resources are left, you can make full use of the remaining resources to provide more services.<br \/>\n* Resources to each other to seize the problem, when a service instance service is high or open slow query, it will consume more memory, CPU, disk IO resources, resulting in other instances of the server to provide services to reduce the quality.<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# cat \/etc\/<a title=\"RedHat\" href=\"http:\/\/www.linuxidc.com\/topicnews.aspx?tid=10\" target=\"_blank\" rel=\"noopener\">RedHat<\/a>-release<br \/>\n<a title=\"CentOS\" href=\"http:\/\/www.linuxidc.com\/topicnews.aspx?tid=14\" target=\"_blank\" rel=\"noopener\">CentOS<\/a>\u00a0release 6.9 (Final)<\/p>\n<p>[root@MySQL ~]# uname -r<br \/>\n2.6.32-696.3.2.el6.x86_64<\/p>\n<p>[root@MySQL ~]# getenforce<br \/>\nDisabled<\/p>\n<p>[root@MySQL ~]# tar zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C \/usr\/local\/<\/p>\n<p>[root@MySQL ~]# ln -s \/usr\/local\/mysql-5.7.18-linux-glibc2.5-x86_64 \/usr\/local\/mysql<\/p>\n<p>[root@MySQL ~]# useradd -r -s \/sbin\/nologin mysql<\/p>\n<p>[root@MySQL ~]# mkdir -v \/usr\/local\/mysql\/mysql-files<br \/>\nmkdir: created directory `\/usr\/local\/mysql\/mysql-files&#8217;<\/p>\n<p>[root@MySQL ~]# mkdir -vp \/data\/mysql_data{1..4}<br \/>\nmkdir: created directory `\/data&#8217;<br \/>\nmkdir: created directory `\/data\/mysql_data1&#8242;<br \/>\nmkdir: created directory `\/data\/mysql_data2&#8242;<br \/>\nmkdir: created directory `\/data\/mysql_data3&#8242;<br \/>\nmkdir: created directory `\/data\/mysql_data4&#8242;<\/p>\n<p>1 [root@MySQL ~]# chown root.mysql -R \/usr\/local\/mysql-5.7.18-linux-glibc2.5-x86_64<\/p>\n<p>[root@MySQL ~]# chown mysql.mysql -R \/usr\/local\/mysql\/mysql-files \/data\/mysql_data{1..4}<\/p>\n<p>\/etc\/my.cnf<br \/>\n[mysqld_multi]<br \/>\nmysqld\u00a0 \u00a0 = \/usr\/local\/mysql\/bin\/mysqld<br \/>\nmysqladmin = \/usr\/local\/mysql\/bin\/mysqladmin<br \/>\nlog\u00a0 \u00a0 \u00a0 \u00a0 = \/tmp\/mysql_multi.log<\/p>\n<p>&nbsp;<\/p>\n<p>[mysqld1]<\/p>\n<p>datadir = \/data\/mysql_data1<\/p>\n<p>socket = \/tmp\/mysql.sock1<\/p>\n<p>port = 3306<\/p>\n<p>user = mysql<\/p>\n<p>performance_schema = off<\/p>\n<p>innodb_buffer_pool_size = 32M<\/p>\n<p>bind_address = 0.0.0.0<\/p>\n<p>skip-name-resolve = 0<\/p>\n<p>[mysqld2]<br \/>\ndatadir = \/data\/mysql_data2<br \/>\nsocket = \/tmp\/mysql.sock2<br \/>\nport = 3307<br \/>\nuser = mysql<br \/>\nperformance_schema = off<br \/>\ninnodb_buffer_pool_size = 32M<br \/>\nbind_address = 0.0.0.0<br \/>\nskip-name-resolve = 0<\/p>\n<p>[mysqld3]<br \/>\ndatadir = \/data\/mysql_data3<br \/>\nsocket = \/tmp\/mysql.sock3<br \/>\nport = 3308<br \/>\nuser = mysql<br \/>\nperformance_schema = off<br \/>\ninnodb_buffer_pool_size = 32M<br \/>\nbind_address = 0.0.0.0<br \/>\nskip-name-resolve = 0<\/p>\n<p>[mysqld4]<br \/>\ndatadir = \/data\/mysql_data4<br \/>\nsocket = \/tmp\/mysql.sock4<br \/>\nport = 3309<br \/>\nuser = mysql<br \/>\nperformance_schema = off<br \/>\ninnodb_buffer_pool_size = 32M<br \/>\nbind_address = 0.0.0.0<br \/>\nskip-name-resolve = 0<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# \/usr\/local\/mysql\/bin\/mysqld &#8211;initialize &#8211;user=mysql &#8211;basedir=\/usr\/local\/mysql &#8211;datadir=\/data\/mysql_data1<br \/>\n[root@MySQL ~]# \/usr\/local\/mysql\/bin\/mysqld &#8211;initialize &#8211;user=mysql &#8211;basedir=\/usr\/local\/mysql &#8211;datadir=\/data\/mysql_data2<br \/>\n[root@MySQL ~]# \/usr\/local\/mysql\/bin\/mysqld &#8211;initialize &#8211;user=mysql &#8211;basedir=\/usr\/local\/mysql &#8211;datadir=\/data\/mysql_data3<br \/>\n[root@MySQL ~]# \/usr\/local\/mysql\/bin\/mysqld &#8211;initialize &#8211;user=mysql &#8211;basedir=\/usr\/local\/mysql &#8211;datadir=\/data\/mysql_data4<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# cp \/usr\/local\/mysql\/support-files\/mysqld_multi.server \/etc\/init.d\/mysqld_multi<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# chmod +x \/etc\/init.d\/mysqld_multi<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# chkconfig &#8211;add mysqld_multi<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# \/etc\/init.d\/mysqld_multi report<br \/>\nReporting MySQL servers<br \/>\nMySQL server from group: mysqld1 is not running<br \/>\nMySQL server from group: mysqld2 is not running<br \/>\nMySQL server from group: mysqld3 is not running<br \/>\nMySQL server from group: mysqld4 is not running<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# \/etc\/init.d\/mysqld_multi start<\/p>\n<p>&nbsp;<\/p>\n<p>Reporting MySQL servers<br \/>\nMySQL server from group: mysqld1 is running<br \/>\nMySQL server from group: mysqld2 is running<br \/>\nMySQL server from group: mysqld3 is running<br \/>\nMySQL server from group: mysqld4 is running<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# netstat -lntp | grep mysqld<br \/>\ntcp\u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 0 0.0.0.0:3306\u00a0 \u00a0 \u00a0 \u00a0 0.0.0.0:*\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LISTEN\u00a0 \u00a0 \u00a0 2673\/mysqld<br \/>\ntcp\u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 0 0.0.0.0:3307\u00a0 \u00a0 \u00a0 \u00a0 0.0.0.0:*\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LISTEN\u00a0 \u00a0 \u00a0 2676\/mysqld<br \/>\ntcp\u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 0 0.0.0.0:3308\u00a0 \u00a0 \u00a0 \u00a0 0.0.0.0:*\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LISTEN\u00a0 \u00a0 \u00a0 2679\/mysqld<br \/>\ntcp\u00a0 \u00a0 \u00a0 \u00a0 0\u00a0 \u00a0 \u00a0 0 0.0.0.0:3309\u00a0 \u00a0 \u00a0 \u00a0 0.0.0.0:*\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LISTEN\u00a0 \u00a0 \u00a0 2682\/mysqld<\/p>\n<p>&nbsp;<\/p>\n<p>[root@MySQL ~]# \/usr\/local\/mysql\/bin\/mysql -S \/tmp\/mysql.sock1\u00a0 -p&#8217;z+Ilo*&gt;s:3kw&#8217;<br \/>\nmysql: [Warning] Using a password on the command line interface can be insecure.<br \/>\nWelcome to the MySQL monitor.\u00a0 Commands end with ; or \\g.<br \/>\nYour MySQL connection id is 6<br \/>\nServer version: 5.7.18<\/p>\n<p>Copyright (c) 2000, 2017,\u00a0<a title=\"Oracle\" href=\"http:\/\/www.linuxidc.com\/topicnews.aspx?tid=12\" target=\"_blank\" rel=\"noopener\">Oracle<\/a>\u00a0and\/or its affiliates. All rights reserved.<\/p>\n<p>Oracle is a registered trademark of Oracle Corporation and\/or its<br \/>\naffiliates. Other names may be trademarks of their respective<br \/>\nowners.<\/p>\n<p>Type &#8216;help;&#8217; or &#8216;\\h&#8217; for help. Type &#8216;\\c&#8217; to clear the current input statement.<\/p>\n<p>mysql&gt; set password = &#8216;123456&#8217;;<br \/>\nQuery OK, 0 rows affected (0.00 sec)<\/p>\n<p>[root@MySQL ~]# \/usr\/local\/mysql\/bin\/mysql -S \/tmp\/mysql.sock2\u00a0 -p&#8217;b*AHUrTgu1rl&#8217;<br \/>\nmysql: [Warning] Using a password on the command line interface can be insecure.<br \/>\nWelcome to the MySQL monitor.\u00a0 Commands end with ; or \\g.<br \/>\nYour MySQL connection id is 7<br \/>\nServer version: 5.7.18<\/p>\n<p>Copyright (c) 2000, 2017, Oracle and\/or its affiliates. All rights reserved.<\/p>\n<p>Oracle is a registered trademark of Oracle Corporation and\/or its<br \/>\naffiliates. Other names may be trademarks of their respective<br \/>\nowners.<\/p>\n<p>Type &#8216;help;&#8217; or &#8216;\\h&#8217; for help. Type &#8216;\\c&#8217; to clear the current input statement.<\/p>\n<p>mysql&gt; set password = &#8216;123456&#8217;;<br \/>\nQuery OK, 0 rows affected (0.00 sec)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Background MySQL database centralized operation and maintenance, through a server, the deployment of running multiple MySQL service process, through a different socket to monitor different service ports to provide their services. Each instance is independent of each other, each instance of the datadir, port, socket, pid are different.<\/p>\n<p>2. Multi-instance features * Effective use [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"_links":{"self":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/6871"}],"collection":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6871"}],"version-history":[{"count":3,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/6871\/revisions"}],"predecessor-version":[{"id":6873,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/6871\/revisions\/6873"}],"wp:attachment":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}