LINUX下启动多个MYSQL效力



作者: yreqab  出自: http://www.linuxdiyf.com
查了下网上的操纵方式,虽然都是启动多个mysql socket但是设置略有区别,网上都是用mysqld_multi这个敕令在my.cnf下设置,而我们这里的方式是间接在启动mysqld时指定分譬喻的cnf,启动多个Mysqld,可以意思是一样的。

不过以下法子在ubuntu下实验丢失败,在redhat9下确成功,且自没找到标题,估量是 ubuntu启动MYSQL时设置的进程不太一样,我这里总提醒写进程文件时冲突。

redhat9的mysql是rmp装置的。

将/var/lib/mysql/下的mysql目次(包孕了mysql的基础底细数据库表)copy到其他目次,这里是 /home/mysql/mysql3304/mysql下(不要在copy到/var/lib/mysql下,如许mysql在启动时会以为有一个叫 3304的数据库存在)

在mysql3304下竖立3304.cnf 内容如下:

[mysqld]
datadir=/home/mysql/mysql3304 #复制出来的数据库目次
port=3304
socket=/tmp/mysql3304.sock #端标语的socket地点

set-variable = max_connections=500

set-variable = key_buffer=256M
set-variable = max_allowed_packet=5M
set-variable = table_cache=500
set-variable = sort_buffer=8M
set-variable = record_buffer=8M
set-variable = myisam_sort_buffer_size=64M
set-variable = thread_cache=8
set-variable = connect_timeout=20
set-variable = thread_concurrency=2

log-bin
server-id=1

将全部文件权限修改为mysql组,否则会呈现启动时进程不克不及写入文件的错误。

启动时输出 safe_mysqld –defaults-file=/home/mysql/mysql3304/3304.cnf

该端口的进程就启动了,在拜访该数据库时输出mysql -u root -p -S /tmp/mysql3304.sock,密码同最原始的Mysql数据库密码一样。

要是需求在竖立其他端标语的数据库,继承下面的操纵,要是copy的是3304这个目次的话,一定要将pid文件删除,包孕了以后的进程号,一定会有冲突。

要是在效力器启动时开启多个mysql,在/etc/rc.local下增进 safe_mysqld–defaults-file=/home/mysql/mysql3304/3304.cnf &




版权声明: 原创作品,核准转载,转载时请务必以超链接形式标明文章 原始情由 、作者信息和本声明。否则将追究法令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1974045.html