mysql 多实例方式(一)---多配置文件

为了方便没有从零开始,直接在已有的数据库系统上实验,省略安装数据库软件(方法类似),下面是添加一个实例的例子

基本信息:

[root@localhost ~]# cat /etc/issue
CentOS release 6.5 (Final)          

mysql> \s
Server version:         5.7.21 Source distribution      ---源码编译安装
Protocol version:       10

现有数据库实例占用3306端口
[root@localhost ~]# netstat -anp | grep mysqld 
tcp        0      0 :::3306                     :::*                        LISTEN      70932/mysqld      
unix  2      [ ACC ]     STREAM     LISTENING     381292 70932/mysqld        /disk1/mysql/mysql.sock

1.原理

通过mysql程序→调用不同配置文件(指定端口,数据库目录等信息)→修改脚本
以达到启动多个实例的目的

2.配置步骤

2.1 创建数据库datadir目录

[root@localhost ~]# mkdir -pv  /disk1/mysql/data3307
[root@localhost ~]# chown  -R mysql.mysql /disk1/mysql/data3307/

2.2 初始化数据库

[root@localhost ~]# mysqld  --initialize-insecure --user=mysql --basedir=/disk1/mysql/  --datadir=/disk1/mysql/data3307
[root@localhost ~]# ll /disk1/mysql/data3307

2.3 创建配置文件

简单创建个配置文件,主要修改port,sockt,datadir

[root@localhost ~]# vi /etc/my3307.cnf
[mysqld]
#server端字符集
character-set-server=utf8
collation-server = utf8_general_ci
user=mysql
port = 3307
#目录设置
basedir=/disk1/mysql
datadir=/disk1/mysql/data3307
# 客户端连接socket
socket=/disk1/mysql/mysql3307.sock
# 解决问题:TIMESTAMP with implicit DEFAULT value is deprecated
explicit_defaults_for_timestamp=true
# skip_grant_tables
[mysql]
socket=/disk1/mysql/mysql3307.sock
default-character-set=utf8
[mysql.server]
default-character-set=utf8
[mysql_safe]
default-character-set=utf8
[client]
socket=/disk1/mysql/mysql3307.sock
default-character-set=utf8

2.4 启动并连接测试

[root@localhost ~]# mysqld_safe --defaults-file=/etc/my3307.cnf &
[root@localhost ~]# netstat -anp | grep mysql
tcp        0      0 :::3307                     :::*                        LISTEN      71865/mysqld        
tcp        0      0 :::3306                     :::*                        LISTEN      71357/mysqld        
unix  2      [ ACC ]     STREAM     LISTENING     383013 71357/mysqld        /disk1/mysql/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     383478 71865/mysqld        /disk1/mysql/mysql3307.sock

连接(指定连接到3307实例)

[root@localhost ~]# mysql -h 127.0.0.1 -P 3307 -u root -p
[root@localhost ~]# mysql -S /disk1/mysql/mysql3307.sock  -u root -p
[root@localhost ~]# mysql --defaults-file=/etc/my3307.cnf

2.5 服务脚本自启动

[root@localhost ~]# vi /etc/init.d/mysqld330747行
datadir=/disk1/mysql/data       
改为
datadir=/disk1/mysql/data3307

第63行
mysqld_pid_file_path=
改为 
mysqld_pid_file_path=$datadir/`hostname`.pid

第266$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
 修改为
$bindir/mysqld_safe  --defaults-file=/etc/my3307.cnf --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
[root@localhost ~]# chkconfig --add mysqld3307
[root@localhost ~]# chkconfig mysqld3307 on
[root@localhost ~]# service mysqld3307 restart
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值