阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL5.6多实例部署

123次阅读
没有评论

共计 4825 个字符,预计需要花费 13 分钟才能阅读完成。

无论是迫于预算,亦或者是领导要求,多实例的安装也是 DBA 必须掌握的技术,她的启停和登录方式和单实例安装数据库略有不同,本文记录下如何完成 MySQL5.6 多实例部署。

首先我们看一下 my.cnf 和单实例的区分:

[root@HE1 scripts]#
cat /etc/my.cnf
[client]
#port = 3306
#socket = /tmp/mysql.sock
#default-character-set = utf8
 
[mysql]
#default-character-set = utf8
 
[mysqld3306]
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql_3306
socket  = /tmp/mysql_3306.sock
slow_query_log_file = /data/mysql_3306/slow.log
log-error = /data/mysql_3306/error.log
log-bin = /data/mysql_3306/mysql-bin
sync_binlog = 1
binlog_format = row
transaction_isolation = REPEATABLE-READ
innodb_buffer_pool_size = 100m
 
[mysqld3308]
port = 3308
basedir = /usr/local/mysql
datadir = /data/mysql_3308
socket = /tmp/mysql_3308.sock
slow_query_log = 1
slow_query_log_file = /data/mysql_3308/slow.log
log-error = /data/mysql_3308/error.log
long_query_time = 1
log-bin = /data/mysql_3308/mysql-bin
sync_binlog = 1
binlog_cache_size = 4M
default-storage-engine = InnoDB
binlog_format = row
transaction_isolation = REPEATABLE-READ
innodb_buffer_pool_size = 100m
 
[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
mysqladmin=/usr/local/mysql/bin/mysqladmin
 
 
[mysqldump]
quick
max_allowed_packet = 32M

可以看出,多实例的 my.cnf 实际上就是如上所示,本文为了演示实验环境,innodb_buffer_pool_size 仅仅开了 100m,真实的生产库中多实例部署该参数要开大些,两个实例该参数的值达到内存的 50%-80% 都可以。

下面开始初始化我们的数据库
首先创建我们的数据目录
[root@HE1 ~]#mkdir -p /data/mysql_3306
[root@HE1 ~]#mkdir -p /data/mysql_3308
[root@HE1 ~]#echo “export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib” >>/etc/profile

进入到 mysql 的 scripts 文件夹下对数据库进行初始化,这里我们对 3306 端口数据库进行初始化
[root@HE1 scripts]#./mysql_install_db –basedir=/usr/local/mysql –datadir=/data/mysql_3306 –defaults-file=/etc/my.cnf –user=mysql

这里我们对 3308 端口数据库进行初始化
[root@HE1 scripts]# ./mysql_install_db –basedir=/usr/local/mysql –datadir=/data/mysql_3308 –defaults-file=/etc/my.cnf –user=mysql

初始化完成后,我们便可以启停数据库了,和单实例不同,多实例采用 mysqld_multi 来启停数据库
[root@HE1 bin]# ./mysqld_multi –defaults-file=/etc/my.cnf –user=root –password=MANAGER start 3306,3308

可以利用 mysqld_multi 的 report 命令来检测多实例的运行状况
1234 [root@HE1 bin]#./mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3308 is running

登录方式和单实例大体相同,不过由于多实例的存在,我们需要指定不同的端口号
[root@HE1 bin]# mysql -uroot -p -P3306 -h 192.168.1.48
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6 Server version: 5.6.16-log MySQL Community Server (GPL)
 
Copyright (c) 2000,
2014, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
 
Type ‘help;’ or ‘\h’
for help. Type ‘\c’ to clear the current input statement.
 
 
mysql> show databases;
+——————–+
| Database          |
+——————–+
| information_schema
|
| 3306db            |
| mysql              |
| performance_schema
|
| test              |
+——————–+
5 rows in set (0.00 sec)

当然,利用 socket 文件登录也是可以的
[root@HE1 bin]#mysql -uroot -p -S /data/mysql_3306/mysql_3306.sock
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7 Server version: 5.6.16-log MySQL Community Server (GPL)
 
Copyright (c) 2000,
2014, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
 
Type ‘help;’ or ‘\h’
for help. Type ‘\c’ to clear the current input statement.
 
 
mysql> show databases;
+——————–+
| Database          |
+——————–+
| information_schema
|
| 3306db            |
| mysql              |
| performance_schema
|
| test              |
+——————–+
5 rows in set (0.00 sec)

这里是登录 3308 端口数据库
[root@HE1 bin]#mysql -uroot -p -P3308 -h 192.168.1.48
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8 Server version: 5.6.16-log MySQL Community Server (GPL)
 
Copyright (c) 2000,
2014, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
 
Type ‘help;’ or ‘\h’
for help. Type ‘\c’ to clear the current input statement.
 
 
Type ‘help;’ or ‘\h’
for help. Type ‘\c’ to clear the current input statement.
 
mysql> show databases;
+——————–+
| Database          |
+——————–+
| information_schema
|
| 3308db            |
| mysql              |
| performance_schema
|
| test              |
+——————–+
5 rows in set (0.00sec)
 
mysql> quit
Bye

利用 3308 端口的 socket 文件登录数据库
[root@HE1 bin]#mysql -uroot -p -S /data/mysql_3308/mysql_3308.sock
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9 Server version: 5.6.16-log MySQL Community Server (GPL)
 
Copyright (c) 2000,
2014, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
 
Type ‘help;’ or ‘\h’
for help. Type ‘\c’ to clear the current input statement.
 
mysql> show databases;
+——————–+
| Database          |
+——————–+
| information_schema
|
| 3308db            |
| mysql              |
| performance_schema
|
| test              |
+——————–+
5 rows in set (0.00sec)

至此,MySQL5.6 多实例部署完成。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135110.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计4825字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中