linux安装两个mysql(8.0和5.7),并同时使用方式

 更新时间:2024年12月11日 11:01:01   作者:HetFrame  
这篇文章主要介绍了如何在CentOS 7上下载和安装MySQL 8.0和MySQL 5.7.30,并详细描述了安装步骤,包括解压、配置、初始化和启动等过程

一、下载mysql 8.0和mysql 5.7.30

mysql下载地址:

https://dev.mysql.com/downloads/mysql/

1、下载mysql 8.0

我使用的centos7,这里选择linux-generic,然后下载第一个,第一个解压就可以用了(.tar.xz)。

2、下载mysql 5.7

先选择以前的版本,同样下载第一个。

二、安装

1、解压并移动(这里使用5.7,另一个操作类似)

tar -xvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql5.7

2、配置mysql

mysql服务需要单独的用户,所以添加用户组及用户mysql

  1. 修改文件所属用户用户组
chown mysql:mysql /usr/local/mysql -R
  1. 创建mysql配置文件我在mysql目录下创建的my.cnf
vim my.cnf

这里面就是具体的文件目录配置,以及端口号

# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld]
skip-grant-tables
#mysql安装目录
basedir=/usr/local/mysql5.7
#mysql数据库目录
datadir=/usr/local/mysql5.7/data

port = 3307

[mysqld_safe]
#错误日志
log-error=/usr/local/mysql5.7/data/error.log
#pid文件
pid-file=/usr/local/mysql5.7/data/mysqld.pid
tmpdir=/tmp/mysql5.7
#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d

3、初始化

这里需要手动设置两个路径以及用户,--initialize-insecure是不生成随机密码的方式,--initialize会在日志生成随机密码

/usr/local/mysql5.7/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql5.7/data/ --basedir=/usr/local/mysql5.7/ --user=mysql

4、启动

使用我们自己的my.cnf启动

这时候可以使用mysqld_safe,但是这样启动关闭起来也只能用命令关闭,所以需要使用脚本

进入mysql目录的support-files文件夹编辑mysql.server

vim /usr/local/mysql5.7/support-files/mysql.server

编辑以下内容

basedir=/usr/local/mysql5.7
datadir=/usr/local/mysql5.7/data
lockdir='/var/lock/subsys5.7'
lock_file_path="$lockdir/mysql5.7"
mysqld_pid_file_path=/usr/local/mysql5.7/data/mysqld.pid
#搜索conf后再修改,这个在else语句里面
conf=/usr/local/mysql5.7/my.cnf

复制该文件到/etc/init.d并重命名为mysql5.7

cp -i /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysql5.7

使用方法

service mysql5.7 {start|stop|restart|reload|force-reload|status}

启动

service mysql5.7 start

启动后会报错

Starting MySQL.Logging to '/usr/local/mysql/data/error.log'. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).

原因是没有在mysql目录下创建data目录,我们创建一个data目录,并修改为用户用户组为mysql,再启动即可。

其他版本的mysql也这样配置,只要设置好路径就共存

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 你真的会用Mysql的explain吗

    你真的会用Mysql的explain吗

    explain显示了mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句,下面这篇文章主要给大家介绍了关于Mysql中explain用法的相关资料,需要的朋友可以参考下
    2022-03-03
  • MySQL9.0更新了哪些特性

    MySQL9.0更新了哪些特性

    MySQL 9.0作为MySQL数据库管理系统的一个重要更新版本,带来了多项新特性和改进,下面我们就一起来看看更新了哪些特性,感兴趣的可以了解一下
    2024-08-08
  • mysql 转换NULL数据方法(必看)

    mysql 转换NULL数据方法(必看)

    下面小编就为大家带来一篇mysql 转换NULL数据方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • mysql滑动订单问题原理与解决方法实例分析

    mysql滑动订单问题原理与解决方法实例分析

    这篇文章主要介绍了mysql滑动订单问题原理与解决方法,结合实例形式分析了mysql滑动订单的问题的基本原理、解决方法与相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • MySQL出现SQL Error (2013)连接错误的解决方法

    MySQL出现SQL Error (2013)连接错误的解决方法

    这篇文章主要介绍了MySQL出现SQL Error (2013)连接错误的解决方法,2013错误主要还是在于用户的授权问题,需要的朋友可以参考下
    2016-06-06
  • 一篇文章带你了解MySQL数据库约束

    一篇文章带你了解MySQL数据库约束

    数据库中要管理很多数据,但是这些数据是否正确、是否非法,光靠人力来检验是远远不够的,因此我们想让数据库拥有丰富的检验和校验能力,所以便引入了约束,下面这篇文章主要给大家介绍了关于MySQL数据库约束的相关资料,需要的朋友可以参考下
    2023-06-06
  • MySQL 字符串转换为数字的方法小结

    MySQL 字符串转换为数字的方法小结

    这篇文章主要介绍了MySQL字符串转换为数字的几种方法,本文给大家列列举了三种方法,每种方法通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • ADODB 入门

    ADODB 入门

    ADODB 入门...
    2006-12-12
  • mysql死锁(dead lock)与锁等待(lock wait)的出现解决

    mysql死锁(dead lock)与锁等待(lock wait)的出现解决

    死锁和锁等待是数据库运维中常见的问题,区别在于死锁会自动解除,而锁等待需要手动处理,本文就来介绍一下mysql死锁(dead lock)与锁等待(lock wait),感兴趣的可以了解一下
    2024-09-09
  • MySQL之information_schema数据库详细讲解

    MySQL之information_schema数据库详细讲解

    这篇文章主要介绍了MySQL之information_schema数据库详细讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论