专栏首页Java架构师进阶没有试过的话你真的不知道,多实例MYSQL有多方便管理

没有试过的话你真的不知道,多实例MYSQL有多方便管理

多实例MYSQL

优点:分开便于管理,使用多配置文件方式

缺点:争夺资源

#1.创建多个数据目录 自定义目录

[root@db01 ~]# mkdir /data/{3307,3308,3309} -p

[root@db01 data]# tree /data

/data

├── 3307

├── 3308

└── 3309

#2.准备多个配置文件

[root@db01 data]# vim /data/3307/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/data/3307/data

port=3307

socket=/data/3307/mysql.sock

log-error=/data/3307/data/mysql.err

log-bin=/data/3307/data/mysql-bin

server_id=7

-------------------------------------------

[root@db01 data]# vim /data/3308/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/data/3308/data

port=3308

socket=/data/3308/mysql.sock

log-error=/data/3308/data/mysql.err

log-bin=/data/3308/data/mysql-bin

server_id=8

--------------------------------------------

[root@db01 data]# vim /data/3309/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/data/3309/data

port=3309

socket=/data/3309/mysql.sock

log-error=/data/3309/data/mysql.err

log-bin=/data/3309/data/mysql-bin

server_id=9

---------------------------------------------

[root@db01 data]# tree /data/

/data/

├── 3307

│ └── my.cnf

├── 3308

│ └── my.cnf

└── 3309

└── my.cnf

#3.初始化多套数据目录

3307:

[root@db01 scripts]# ./mysql_install_db --defaults-file=/data/3307/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data

3308:

[root@db01 scripts]# ./mysql_install_db --defaults-file=/data/3308/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/3308/data

3309:

[root@db01 scripts]# ./mysql_install_db --defaults-file=/data/3309/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/3309/data

#4.授权

[root@db01 scripts]# chown -R mysql.mysql /data

#5.启动MySQL多实例

[root@db01 scripts]# mysqld_safe --defaults-file=/data/3307/my.cnf &

[root@db01 scripts]# mysqld_safe --defaults-file=/data/3308/my.cnf &

[root@db01 scripts]# mysqld_safe --defaults-file=/data/3309/my.cnf &

#6.检查端口

[root@db01 scripts]# netstat -lntup|grep 330

tcp6 0 0 :::3307 :::* LISTEN 25550/mysqld

tcp6 0 0 :::3308 :::* LISTEN 25722/mysqld

tcp6 0 0 :::3309 :::* LISTEN 25894/mysqld

#7.设置多实例密码

[root@db01 scripts]# mysqladmin -uroot -S /data/3307/mysql.sock password '3307'

[root@db01 scripts]# mysqladmin -uroot -S /data/3308/mysql.sock password '3308'

[root@db01 scripts]# mysqladmin -uroot -S /data/3309/mysql.sock password '3309'

#8.验证库连接( 查看server_id )

[root@db01 scripts]# mysql -uroot -p3307 -S /data/3307/mysql.sock -e "show variables like 'server_id';"Warning: Using a password on the command line interface can be insecure.

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 7 |

+---------------+-------+

[root@db01 scripts]# mysql -uroot -p3308 -S /data/3308/mysql.sock -e "show variables like 'server_id';"Warning: Using a password on the command line interface can be insecure.

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 8 |

+---------------+-------+

[root@db01 scripts]# mysql -uroot -p3309 -S /data/3309/mysql.sock -e "show variables like 'server_id';"Warning: Using a password on the command line interface can be insecure.

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 9 |

+---------------+-------+

连接的小技巧:

[root@db01 scripts]# vim /usr/bin/mysql3309

mysql -uroot -p3309 -S /data/3309/mysql.sock

[root@db01 scripts]# vim /usr/bin/mysql3308

mysql -uroot -p3308 -S /data/3308/mysql.sock

[root@db01 scripts]# vim /usr/bin/mysql3307

mysql -uroot -p3307 -S /data/3307/mysql.sock

[root@db01 scripts]# chmod +x /usr/bin/mysql*

连接:[root@db01 scripts]# mysql3309

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring Boot 运作原理

    SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使...

    java架构师
  • Spring Boot 集成Mybatis实现主从(多数据源)分离方案

    参考资料:https://store.docker.com/images/mysql

    java架构师
  • Java:并发不易,先学会用

    我的脑袋没有被如来佛祖开过光,所以喜欢一件事接着一件事的想,做不到“一脑两用”。但有些大佬就不一样,比如说诸葛亮,就能够一边想着琴谱一边谈着弹着琴,还能夹带着盘...

    java架构师
  • TP数据避免重复和去重处理

    alter table gift_doc add unique index(num_id);

    php007
  • mysql 主从复制

    Mysql的复制是一个异步复制的过程,从一个主(master)的复制到另一个备(salve)的。在主备之间实现复制过程主要有三个线程来完成,其中两个线程(sql...

    程序员同行者
  • 直接扩频通信(中)Verilog 实现

    今天给大侠带来直接扩频通信,由于篇幅较长,分三篇。今天带来中篇,也是第二篇,系统的 verilog 实现 。话不多说,上货。

    FPGA技术江湖
  • Python中的数据标准化

    数据标准化 数据标准化是指将数据按比例缩放,使之落入到特定区间。 为了消除量纲的影响,方便进行不同变量间的比较分析。 0-1标准化: x=(x-min)/(ma...

    Erin
  • Vue 组件中的 data 为什么必须是函数

    在 new Vue() 中,data 是可以作为一个对象进行操作的,然而在 component 中,data 只能以函数的形式存在,不能直接将对象赋值给它

    Nian糕
  • python创建tcp服务端和客户端

    py3study
  • python人工智能:完整的图片识别(非图片验证码),以及模型的使用

    这个可以说是一个绝对的福利中的福利。一整套的AI图片识别以及模型的使用。 一直都在说人工智能,图像识别,又有几个人会呢,网上文章成山,前一段时间因工作需要,我...

    Python疯子

扫码关注云+社区

领取腾讯云代金券