MySQL单服务器多实例的搭建

这里介绍我比较喜欢的两种方法。

第一种方法,多个配置文件(这种方法的优势是配置起来方便,但是管理不太方便)

这里面怎么部署第一个数据库实例就不讲了

新建目录——这个目录是第二个数据库实例的数据目录

mkdir mysql2

chown -R mysql:mysql mysql2

 

对第二个实例进行初始化

/Application/mysql/bin/mysqld --no-defaults --initialize --datadir=/Application/mysql2/data/ --user=mysql --basedir=/Application/mysql

通过初始化的输出信息可以看到密码

新建配置文件

cp /etc/my.cnf  /etc/my2.cnf

修改配置文件

vi /etc/my2.cnf

更改的内容有,datadir,port,socket,错误日志等,,,,,注意basedir不改动

 

启动第二个实例

mysqld_safe --defaults-file=/etc/my2.cnf &

 

监听端口

netstat -anp | grep mysql,这样便能看到第二个实例是否成长启动

 

第二种方法

首先我们编辑配置文件

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld_multi]
mysqld = /home/it_tool/mysql/bin/mysqld_safe
mysqladmin = /home/it_tool/mysql/bin/mysqladmin
user = mysql
pass = ******
log =/home/mysql/mysqld_multi.log

[mysqld]  
user=mysql  
basedir = /home/it_tool/mysql 

[mysqld1]
port        = 3306
socket      = /tmp/mysql3306.sock
basedir = /home/it_tool/mysql
datadir = /home/mysql/3306/
pid-file = /home/mysql/3306/mysqld.pid
skip-external-locking
character-set-server = utf8
secure_file_priv=

explicit_defaults_for_timestamp = true

log_timestamps=SYSTEM
log-bin=/home/mysql/3306/mysql-bin
log-error=/home/mysql/3306/mysqld.log
binlog_format=mixed
server-id   = 1
expire_logs_days = 0

[mysqld2]
port        = 3307
socket      = /tmp/mysql3307.sock
datadir = /home/mysql/3307/
pid-file = /home/mysql/3307/mysqld.pid
skip-external-locking
character-set-server = utf8
secure_file_priv=

explicit_defaults_for_timestamp = true

log_timestamps=SYSTEM
log-bin=/home/mysql/3307/mysql-bin
log-error=/home/mysql/3307/mysqld.log
binlog_format=mixed
server-id   = 2
expire_logs_days = 0

[mysqld3]
port        = 3308
socket      = /tmp/mysql3308.sock
datadir = /home/mysql/3308/
pid-file = /home/mysql/3308/mysqld.pid
skip-external-locking
character-set-server = utf8
secure_file_priv=

explicit_defaults_for_timestamp = true

log_timestamps=SYSTEM
log-bin=/home/mysql/3308/mysql-bin
log-error=/home/mysql/3308/mysqld.log
binlog_format=mixed
server-id   = 3
expire_logs_days = 0

然后进行初始化

mysqld --initialize --datadir=/home/mysql/3306 --user=mysql --basedir=/home/it_tool/mysql

mysqld --initialize --datadir=/home/mysql/3307 --user=mysql --basedir=/home/it_tool/mysql

mysqld --initialize --datadir=/home/mysql/3308 --user=mysql --basedir=/home/it_tool/mysql

然后我们就可以用mysqld_multi来对几个实例进行管理

mysqld_multi start 1,2,3         启动三个实例

mysqld_multi report               查看实例运行情况

    

mysqld_multi stop 1               停止一个或者三个实例(注意,配置文件里如果不配置用户名和密码,可能出现如下错误)   

如果你遇到其他错误也可以去这个日志文件/home/mysql/mysqld_multi.log查询错误原因

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值