热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql多实例_MySql多实例搭建

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MySql多实例搭建相关的知识,希望对你有一定的参考价值。mysql

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MySql多实例搭建相关的知识,希望对你有一定的参考价值。


mysql多实例

概述:在一台物理主机上运行多个数据库服务

作用:节约运维成本,提高硬件利用率

配置步骤说明
我们以mysql-5.7.20 为例
1– 安装支持多实例服务的软件包

1.1解压软件

[[email protected]~]# tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

1.2– 修改目录名

[[email protected] mysql-20]# mv mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql

1.3– 修改 PATH 变量

[[email protected] local]# vim /etc/profile

[[email protected] ~]# echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile

[[email protected] local]# source /etc/profile

2– 修改主配置文件

[[email protected] local]# vim /etc/my.cnf

[mysqld_multi] // 启用多实例

mysqld = /usr/local/mysql/bin/mysqld_safe // 指定进程文件的路径

mysqladmin = /usr/local/mysql/bin/mysqladmin // 指定管理命令路径

user = root // 指定调用进程的用户

[mysqld1] // 实例进程名称 ,X 表示实例名称 , 如 [mysql1]

port=3307 // 端口号

datadir=/dataone // 数据库目录 ,要手动创建

socket=/dataone/mysqld.sock // 指定 sock 文件的路径和名称

log-error=/dataone/mysqld.log // 错误日志位置

pid-file=/dataone/mysqld.pid // 进程 pid 号文件位置

[mysqld2] // 实例进程名称 ,X 表示实例名称 , 如 [mysql1]

port=3308 // 端口号

datadir=/datatwo // 数据库目录 ,要手动创建

socket=/datatwo/mysqld.sock // 指定 sock 文件的路径和名称

log-error=/datatwo/mysqld.log // 错误日志位置

pid-file=/datatwo/mysqld.pid // 错误日志位置

– 根据配置文件做相应设置

[email protected] ~]# mkdir -p /dataone

[[email protected] ~]# mkdir -p /datatwo

[[email protected] ~]# useradd mysql

c[[email protected] ~]# chown mysql:mysql /data*

*为了安全可以更改文件权限

chown mysql:mysql /data*

– 初始化授权库

[[email protected] bin]# ./mysqld --user=mysql --basedir= 软件安装目录 --datadir= 数据库目录 – initialize // 初始化授权库

]#mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/dataone --initialize

]#mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/datatwo --initialize

– 启动服务

[[email protected] ~]# mysqld_multi start实例编号 //启动实例进程

– 客户端访问

[root[email protected]~]# mysqld_multi start 1

[[email protected] ~]# mysqld_multi start 2

[email protected] ~]# netstat -utnlp | grep :3308

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

[[email protected] ~]# netstat -utnlp | grep :3307

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

[[email protected] ~]#

[[email protected] bin]# ./mysqld_multi --user=root --password=

密码 stop 实例编号 // 停止实例进程

6 访问多实例服务

连接实例服务1

[[email protected] ~]#mysql -uroot -p‘bXk.5j!pjto#‘ -S /dataone/mysqld.sock

mysql> ALTER USER user() identified by "123456";

mysql> quit;

]# mysql -uroot -p123456 -S /dataone/mysqld.sock

mysql> show databases;

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

| Database |

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

| information_schema |

| mysql |

| performance_schema |

| sys |

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

4 rows in set (0.00 sec)

mysql>

连接实例服务2

[[email protected] ~]#mysql -uroot -p‘bKsaf+xzk0V3‘ -S /datatwo/mysqld.sock

mysql> alter user user() identified by "123456";

Query OK, 0 rows affected (0.00 sec)

mysql> show databases;

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

| Database |

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

| information_schema |

| mysql |

| performance_schema |

| sys |

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

4 rows in set (0.00 sec)

mysql> quit

Bye

[[email protected] ~]# mysql -uroot -p123456 -S /datatwo/mysqld.sock

停止启动的实例服务

]# mysqld_multi --user=root --password=密码 stop 实例编号

[[email protected]~]# netstat -utnlp | grep :3307

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

[[email protected] ~]#

[[email protected] ~]#

[[email protected]~]# netstat -utnlp | grep :3308

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

[[email protected] ~]# mysqld_multi --user=root --password=123456 stop 1

[[email protected] ~]# netstat -utnlp | grep :3307

[[email protected] ~]# netstat -utnlp | grep :3308

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

[[email protected] ~]#

[[email protected] ~]#

[[email protected]~]#

[[email protected] ~]# mysqld_multi --user=root --password=123456 stop 2

[[email protected]~]# netstat -utnlp | grep :3308

[[email protected]~]# mysql -uroot -p123456 -S /datatwo/mysqld.sock

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/datatwo/mysqld.sock‘ (2)


推荐阅读
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • destoon会员注册提示“数据校验失败(2)”解决方法【PHP】
    后端开发|php教程destoon,会员注册,数据校验失败,后端开发-php教程很多人在使用destoon建立一个B2B系统的时候,会在企业站注册企业用户的时候出现:“数据校验失败 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • gitlab重置password
    ruby没怎么学,自己搭建的gitlab的rootpassword又忘了。幸好看见此帖子,试验okhttp:roland.kierkels.netgitreset-your-git ... [详细]
author-avatar
mobiledu2502913921
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有