同一台服务器上面安装多个mysql数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【前言】测试环境中经常需要多台mysql数据库来进行各种环境和场景的模拟,由于测试环境中的资源一般都是比较有限的,也就需要在一台服务器上面搭建多个mysql数据库来完成测试的需求。

【前言】测试环境中经常需要多台mysql数据库来进行各种环境和场景的模拟,由于测试环境中的资源一般都是比较有限的,也就需要在一台服务器上面搭建多个mysql数据库来完成测试的需求。本文档介绍在Centos6.4的环境中安装多个mysql 5.7数据库的操作方法。

【1】mysql数据库软件的安装

mysql数据库软件官方提供了三种的安装文件和方法,如下:

  • RPM方式安装
  • 二进制方式安装
  • 源码编译安装

虽然源码安装的方式比较麻烦,但是个人还是习惯用源码的方案安装,mysql5.7的安装跟早起5.5的安装方式和步骤也几乎一样所以这里就不再说明了。


【2】创建多个数据库

软件的安装完成其实都是一样的,就是创建数据库的时候有点不一样。

2.1 进行数据文件目录的规划,本环境安装了5个数据库,在/data下面创建5个文件夹,并用端口号区分


点击(此处)折叠或打开

  1. [root@db01 data]# pwd
  2. /data
  3. [root@db01 data]# ll
  4. drwxr-xr-x. 6 mysql mysql 4096 7月 8 05:00 mysql3306
  5. drwxr-xr-x. 6 mysql mysql 4096 7月 20 21:46 mysql3307
  6. drwxr-xr-x. 7 mysql mysql 4096 7月 20 21:46 mysql3308
  7. drwxr-xr-x. 6 mysql mysql 4096 7月 20 21:46 mysql3309
  8. drwxr-xr-x. 5 mysql mysql 4096 7月 20 21:46 mysql3310
2.2 进行参数文件的配置


点击(此处)折叠或打开

  1. [root@db01 data]# vi /etc/my.cnf

  2. [mysqld_multi]
  3. mysqld = /usr/local/mysql/bin/mysqld_safe
  4. #basedir = /usr/local/mysql
  5. mysqladmin = /usr/local/mysql/bin/mysqladmin
  6. user = mysql
  7. pass = mysql
  8. #password = mysql
  9. #bindir = /usr/local/mysql/bin

  10. [mysqld7]
  11. port = 3307
  12. socket = /tmp/mysql.sock7
  13. pid-file = /data/mysql3307/hostname.pid7
  14. datadir = /data/mysql3307
  15. user = mysql
  16. basedir = /usr/local/mysql
  17. log-bin = /data/mysql3307/bin-log
  18. server_id = 7
  19. gtid_mode = ON
  20. enforce-gtid-consistency=TRUE
  21. log_slave_updates= ON
  22. #skip-grant-tables

  23. [mysqld8]
  24. socket = /tmp/mysql.sock8
  25. port = 3308
  26. pid-file = /data/mysql3308/hostname.pid8
  27. datadir = /data/mysql3308
  28. user = mysql
  29. basedir = /usr/local/mysql
  30. #skip-grant-tables
  31. log-bin = /data/mysql3308/bin-log
  32. server_id=8
  33. gtid_mode=ON
  34. enforce-gtid-consistency=TRUE
  35. log_slave_updates= ON

  36. [mysqld9]
  37. socket = /tmp/mysql.sock9
  38. port = 3309
  39. pid-file = /data/mysql3309/hostname.pid9
  40. datadir = /data/mysql3309
  41. user = mysql
  42. basedir = /usr/local/mysql
  43. #skip-grant-tables
  44. log-bin = /data/mysql3309/bin-log
  45. server_id= 9
  46. gtid_mode=ON
  47. enforce-gtid-consistency=TRUE
  48. log_slave_updates= ON

  49. [mysqld10]
  50. socket = /tmp/mysql.sock10
  51. port = 3310
  52. pid-file = /data/mysql3310/hostname.pid10
  53. datadir = /data/mysql3310
  54. user = mysql
  55. basedir = /usr/local/mysql
  56. #skip-grant-tables
  57. log-bin = /data/mysql3310/bin-log
  58. server_id= 10
  59. gtid_mode=ON
  60. enforce-gtid-consistency=TRUE
  61. log_slave_updates= ON


2.3 创建数据库,创建的过程中需要记录数据库的初始密码

依次创建其他数据库,记录默认的随机密码

  • mysql3307的安装

点击(此处)折叠或打开

  1. [root@db01 data]# /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql3307
  2. 2017-07-20T14:31:01.890314Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  3. 2017-07-20T14:31:09.081679Z 0 [Warning] InnoDB: New log files created, LSN=45790
  4. 2017-07-20T14:31:09.626403Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  5. 2017-07-20T14:31:09.867983Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 12d65efe-6d58-11e7-9d39-000c29a755d3.
  6. 2017-07-20T14:31:09.873982Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  7. 2017-07-20T14:31:09.923044Z 1 [Note] A temporary password is generated for root@localhost: wAQ*p>.O:4,p
  • mysql3308的安装
  1. [root@db01 mysql3307]# cat auto.cnf
  2. [auto]
  3. server-uuid=12d65efe-6d58-11e7-9d39-000c29a755d3
  4. [root@db01 mysql3307]# /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql3308
  5. 2017-07-20T14:32:36.027225Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  6. 2017-07-20T14:32:38.601806Z 0 [Warning] InnoDB: New log files created, LSN=45790
  7. 2017-07-20T14:32:39.071963Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  8. 2017-07-20T14:32:39.167438Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 48106897-6d58-11e7-a1b9-000c29a755d3.
  9. 2017-07-20T14:32:39.172770Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  10. 2017-07-20T14:32:39.212540Z 1 [Note] A temporary password is generated for root@localhost: Ak3XwQpb=ta0
  • mysql3309的安装
  1. [root@db01 mysql3307]# /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql3309
  2. 2017-07-20T14:33:32.801680Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  3. 2017-07-20T14:33:35.102950Z 0 [Warning] InnoDB: New log files created, LSN=45790
  4. 2017-07-20T14:33:35.443411Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  5. 2017-07-20T14:33:35.557451Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 69acd736-6d58-11e7-a436-000c29a755d3.
  6. 2017-07-20T14:33:35.562713Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  7. 2017-07-20T14:33:35.607109Z 1 [Note] A temporary password is generated for root@localhost: sDXL5hh61I>R
  • 数据库mysql3310

点击(此处)折叠或打开

  1. [root@db01 mysql3307]# /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql3310
  2. 2017-07-20T14:34:14.881243Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  3. 2017-07-20T14:34:17.227399Z 0 [Warning] InnoDB: New log files created, LSN=45790
  4. 2017-07-20T14:34:17.744012Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  5. 2017-07-20T14:34:17.904000Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 82ea694b-6d58-11e7-a566-000c29a755d3.
  6. 2017-07-20T14:34:17.908498Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  7. 2017-07-20T14:34:17.923365Z 1 [Note] A temporary password is generated for root@localhost: Rq4*Teq#l;Ve

【3】修改数据库的初始密码

先启动数据库


  1. [root@db01 mysql3307]# /usr/local/mysql/bin/mysqld_multi start
  2. 修改默认密码
  3. [root@db01 mysql3307]# mysqladmin -u root -p -P 3307 -S /tmp/mysql.sock7 password
  4. Enter password: 输入默认密码
  5. New password:
  6. Confirm new password:
  7. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.


登录数据库

[root@db01 mysql3307]# mysql -P 3307 -S /tmp/mysql.sock7 -u root p


用默认的密码登录会有以下的提示信息:

点击(此处)折叠或打开

  1. mysql> show databases;
  2. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

【4】设置mysqld_multi stop的关闭权限

默认的情况下,不能通过mysqld_multi关闭数据库,需要进行额外的设置,步骤如下:

创建mysql关闭的用户
点击( 此处 )折叠或打开
  1. [root@db01 mysql3307]# mysql -u root -p -P 3310 -S /tmp/mysql.sock10
  2. Enter password:
  3. mysql> grant shutdown on *.* to 'mysql'@'localhost' identified by 'mysql';
  4. mysql> flush privileges
设置参数文件的账户
点击( 此处 )折叠或打开
  1. [root@db01 mysql3307]# cat /etc/my.cnf
  2. [mysqld_multi]
  3. mysqld = /usr/local/mysql/bin/mysqld_safe
  4. #basedir = /usr/local/mysql
  5. mysqladmin = /usr/local/mysql/bin/mysqladmin
  6. user = mysql
  7. pass = mysql

通过以上的操作,便完成了在单台服务器上面安装多个mysql数据库的操作;

附加:常用的操作语句

/usr/local/mysql/bin/mysqld_multi start #启动所有的数据库

/usr/local/mysql/bin/mysqld_multi start 7 #启动单台数据库

/usr/local/mysql/bin/mysqld_multi stop #关闭所有的数据库

/usr/local/mysql/bin/mysqld_multi stop 7 #关闭单台数据库

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 Ubuntu 网络安全
本地服务器 Odoo 安装指南,并实现公网访问
本指南详细介绍基于 Odoo 的企业应用部署流程。首先通过 VMware 安装虚拟机并配置 Ubuntu 系统,为运行环境打下基础;接着利用 Websoft9 平台简化中间件与 Odoo 服务的安装,实现快速部署与版本管理;然后借助 cpolar 实现内网穿透并完成域名解析,确保公网访问畅通;最后进行功能测试与性能优化,提供运维建议以保障系统稳定性和安全性。适合初学者及中小型企业参考实施。
197 4
|
3月前
|
缓存 Linux 调度
【YashanDB数据库】VMware虚拟机使用默认安装,在掉电之后数据库无法启动
VMware虚拟机使用默认安装,在掉电之后数据库无法启动
|
2月前
|
Ubuntu 关系型数据库 Linux
Linux数据库安装
本文介绍了在CentOS 8.0和Ubuntu 22.04系统上安装、配置和启动MariaDB数据库服务器的详细步骤。包括通过`yum`和`apt`包管理器安装MariaDB服务,启动并检查服务运行状态,设置root用户密码以及连接数据库的基本操作。此外,还展示了如何在Ubuntu上更新软件包列表、安装依赖项,并验证MariaDB的版本和运行状态。通过这些步骤,用户可以成功部署并初始化MariaDB环境,为后续数据库管理与应用开发奠定基础。
142 61
|
1月前
|
SQL 关系型数据库 MySQL
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
这是一份详细的MySQL安装与配置教程,适合初学者快速上手。内容涵盖从下载到安装的每一步操作,包括选择版本、设置路径、配置端口及密码等。同时提供基础操作指南,如数据库管理、数据表增删改查、用户权限设置等。还介绍了备份恢复、图形化工具使用和性能优化技巧,帮助用户全面掌握MySQL的使用方法。附带常见问题解决方法,保姆级教学让你无忧入门!
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
|
2月前
|
域名解析 弹性计算 安全
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
本文详细介绍了从注册阿里云账号到使用宝塔面板安装网站的完整流程,包括阿里云账号的企业认证、服务器购买与安全规则配置、宝塔面板的安装及网站部署等步骤。通过图文并茂的方式,帮助用户轻松完成阿里云服务器的搭建和管理。适合新手快速上手,实现网站从零到有的全过程。如果觉得有用,别忘了点赞收藏!
1314 2
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
|
2月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
161 28
|
2月前
|
安全 关系型数据库 文件存储
Websoft9 服务器面板中 Odoo 安装与群晖 NAS 的对比
传统部署Odoo面临基础设施搭建、镜像供应链、复杂配置及运维监控四大难题,而群晖NAS方案存在Docker依赖、插件更新滞后和配置自由度低的局限。Websoft9提供开箱即用的解决方案:无需预装Docker,三键式安装支持全版本Odoo;具备企业级扩展功能如负载均衡与集群部署;兼容混合云架构,支持公有云、私有云及边缘设备管理;同时确保合规性,自动扫描漏洞并生成修复报告,大幅提升部署效率与系统安全性。
|
2月前
|
监控 Java Shell
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
本文主要介绍了因数据库未按规范使用 yasboot 安装导致的问题及解决方法。问题表现为无 yasom 和 yasagent 进程,且目录结构缺失,致使 ycm 无法托管与监控。分析发现可能是数据库版本旧或安装不规范引起。解决方法为先生成配置文件,安装 yasom 和 yasagent,再生成并修改托管配置模板,最终通过命令完成托管至 yasom 和 ycm。总结强调了按规范安装数据库的重要性以避免类似问题。
|
2月前
|
存储 固态存储 网络协议
YashanDB安装前服务器准备
本文档源自YashanDB官网,详细介绍了YashanDB的安装前准备与部署配置要求。内容涵盖服务器配置(操作系统、CPU、内存、硬盘等推荐及最低标准)、共享存储配置、部署规模(单机主备、分布式、共享集群等场景)以及各类部署示例的服务器列表。特别提示,在虚拟机环境中需将硬盘设置为独立-永久模式以避免数据损坏。此文档为用户根据实际需求选择合适的部署方案提供了全面指导。
|
3月前
|
安全 关系型数据库 MySQL
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误

热门文章

最新文章

推荐镜像

更多