案例:
如果一台服务器性能够好,在一台服务器同时运行多个相同服务(多实例),是很有必要的。这里拿MySQL来说,为了减缓MySQL压力,提高吞吐等目的,MySQL多实例确实好用。但是MySQL多实例还是有很多需要注意的事项。这里浅谈一下!
eg:
[root@MySQL ~]# ps aux|grep mysql|grep -v "grep" root 3584 0.0 0.1 106188 1516 pts/3 S 13:26 0:00 /bin/sh /usr/local/mysqlone/bin/mysqld_safe --datadir=/usr/local/mysqlone/data --pid-file=/usr/local/mysqlone/data/HYXD.pid mysql 3897 0.0 11.0 739880 111472 pts/3 Sl 13:26 0:03 /usr/local/mysqlone/bin/mysqld --basedir=/usr/local/mysqlone --datadir=/usr/local/mysqlone/data --plugin-dir=/usr/local/mysqlone/lib/plugin --user=mysql --log-error=/usr/local/mysqlone/log/error.log --pid-file=/usr/local/mysqlone/data/HYXD.pid --socket=/usr/local/mysqlone/mysql.sock --port=3306 root 4714 0.0 0.1 106188 1520 pts/2 S 13:57 0:00 /bin/sh /usr/local/mysqltwo/bin/mysqld_safe --datadir=/usr/local/mysqltwo/data --pid-file=/usr/local/mysqltwo/data/HYXD.pid mysql 5025 0.0 10.9 739880 109936 pts/2 Sl 13:57 0:01 /usr/local/mysqltwo/bin/mysqld --basedir=/usr/local/mysqltwo --datadir=/usr/local/mysqltwo/data --plugin-dir=/usr/local/mysqltwo/lib/plugin --user=mysql --log-error=/usr/local/mysqlone/log/error.log --pid-file=/usr/local/mysqltwo/data/HYXD.pid --socket=/usr/local/mysqltwo/mysql.sock --port=3307 [root@MySQL ~]#
注意事项:
1、my.cnf问题,多实例关于MySQL的配置文件要合理管理。可以共用一个配置文件,也可以单独 管理,(和MySQL读取顺序有关,这里后续再专门写篇博客分享一下) 2、端口问题(注意端口不要冲突) 3、数据库存放目录不要冲突 4、pid,sock,等文件要自定义好,不要冲突。 5、mysql工具访问方式根据sock来访问 6、MySQL启动方式。 7、如果多实例要规划好用途。
上面是博主分享的MySQL多实例的一些个人经验,欢迎续加和指正!