在一台服务器上同时安装MySQL 5.6、5.7和8.0等3个版本

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 下载下面三个版本的通用安装包

下载下面三个版本的通用安装包:


https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz


解压到/usr/local目录并创建软连接:


# cd /usr/local
# tar xvf ~/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 
# tar xvf ~/mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz
# tar xvf ~/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
# ln -s mysql-5.7.35-linux-glibc2.12-x86_64 mysql57
# ln -s mysql-5.6.51-linux-glibc2.12-x86_64 mysql56
# ln -s mysql-8.0.27-linux-glibc2.12-x86_64 mysql80

初始化数据:


# yum install -y perl
# yum install -y autoconf
# yum install -y libaio
# mkdir -p /usr/local/mysql80/data
# mysql80/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql80/data
# mysql57/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql57/data
# cd mysql56
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql56/data

5.6初始化需要进入到mysql56目录下进行。

在数据初始化的过程中8.0和5.7会初始生成一个临时密码,5.6生成的是空密码,登录后修改密码。在5.6中修改密码的命令有所不同:


mysql> set password=password('yaoyuan');


编辑一个mysql的配置文件,/etc/my.cnf


[client]
user=root
password=yaoyuan
[mysql]
prompt=(\\u@\\h) [\\d]>\\_
[mysqld_multi]
mysqld     = /usr/local/mysql80/bin/mysqld_safe     #启动时调用的命令
mysqladmin = /usr/local/mysql80/bin/mysqladmin    #关闭时调用的命令 下面需要提供用户和密码
[mysqld56]
mysqladmin = /usr/local/mysql56/bin/mysqladmin # 需要用5.6自己的关机命令
basedir=/usr/local/mysql56
socket     = /tmp/mysql.sock56
port       = 3307
datadir    = /usr/local/mysql56/data
[mysqld57]
basedir=/usr/local/mysql57
socket     = /tmp/mysql.sock57
port       = 3308
datadir    = /usr/local/mysql57/data
[mysqld80]
basedir=/usr/local/mysql80
socket     = /tmp/mysql.sock80
port       = 3309
datadir    = /usr/local/mysql80/data



[mysqld_multi]下面要指定关闭用的用户名和密码,这个用户需要有shutdown的权限。也可以配置到[mysql]下面,如果配置到[mysqld_multi]下面需要把password改成pass,不然无法关机,这里官方文档错了。

MySQL 8.0的关机命令对MySQL 5.6步适用,会出错:


# /usr/local/mysql/bin/mysqladmin  shutdown -S /tmp/mysql.sock56
mysqladmin: shutdown failed; error: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'shutdown' at line 1'


启动或关闭MySQL不同版本的进程,并检查状态:

[root@mysql_g bin]# mysqld_multi start 56,57,80
[root@mysql_g bin]# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld56 is running
MySQL server from group: mysqld57 is running
MySQL server from group: mysqld80 is running
[root@mysql_g ~]# ps -ef|grep mysqld
root      3181     1  0 02:49 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql57 --socket=/tmp/mysql.sock57 --port=3308 --datadir=/usr/local/mysql57/data
mysql     3300  3181  0 02:49 pts/1    00:00:01 /usr/local/mysql57/bin/mysqld --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/mysql57/lib/plugin --user=mysql --log-error=mysql_g.localdomain.err --pid-file=mysql_g.localdomain.pid --socket=/tmp/mysql.sock57 --port=3308
root      3665     1  0 03:02 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql56 --socket=/tmp/mysql.sock56 --port=3307 --datadir=/usr/local/mysql56/data
mysql     3794  3665  0 03:02 pts/1    00:00:01 /usr/local/mysql56/bin/mysqld --basedir=/usr/local/mysql56 --datadir=/usr/local/mysql56/data --plugin-dir=/usr/local/mysql56/lib/plugin --user=mysql --log-error=mysql_g.localdomain.err --pid-file=mysql_g.localdomain.pid --socket=/tmp/mysql.sock56 --port=3307
root      3851     1  0 03:11 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql80 --socket=/tmp/mysql.sock80 --port=3309 --datadir=/usr/local/mysql80/data
mysql     3970  3851 11 03:11 pts/1    00:00:01 /usr/local/mysql80/bin/mysqld --basedir=/usr/local/mysql80 --datadir=/usr/local/mysql80/data --plugin-dir=/usr/local/mysql80/lib/plugin --user=mysql --log-error=mysql_g.localdomain.err --pid-file=mysql_g.localdomain.pid --socket=/tmp/mysql.sock80 --port=3309
root      4028  2966  0 03:11 pts/1    00:00:00 grep --color=auto mysqld
[root@mysql_g ~]# mysqld_multi stop 57
[root@mysql_g ~]# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld56 is running
MySQL server from group: mysqld57 is not running
MySQL server from group: mysqld80 is running



连接进入MySQL 5.6,注意sock端口:

[root@mysql_g bin]# mysql -S /tmp/mysql.sock56 -uroot -pyaoyuan
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.51 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
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.
(root@localhost) [(none)]> select @@version;
+-----------+
| @@version |
+-----------+
| 5.6.51    |
+-----------+
1 row in set (0.00 sec)
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
存储 缓存 监控
MySQL服务器配置优化:my.cnf参数调优指南
本文深入解析了MySQL核心配置参数及性能优化技巧,涵盖内存结构、调优原则、存储引擎优化、查询性能优化等内容,通过实战案例帮助读者构建高性能MySQL服务器配置,解决常见的性能瓶颈问题。
|
3月前
|
Shell Linux 网络安全
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
555 3
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
|
4月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
309 18
|
4月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
329 15
|
4月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
516 13
|
5月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
4月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
174 3
|
4月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
862 152
|
4月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。

推荐镜像

更多