Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > linux安装两个mysql(8.0和5.7),并同时使用

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

作者: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也这样配置,只要设置好路径就共存

总结

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

您可能感兴趣的文章:
阅读全文