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

一、下载mysql 8.0和mysql 5.7.30

mysql下载地址:https://dev.mysql.com/downloads/mysql/

1、下载mysql 8.0

我使用的centos7,这里选择linux-generic,然后下载第一个,第一个解压就可以用了(.tar.xz)。linux安装两个mysql(8.0和5.7),并同时使用_第1张图片
linux安装两个mysql(8.0和5.7),并同时使用_第2张图片

2.下载mysql 5.7

先选择以前的版本,同样下载第一个。
linux安装两个mysql(8.0和5.7),并同时使用_第3张图片linux安装两个mysql(8.0和5.7),并同时使用_第4张图片

二、安装

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,但是这样启动关闭起来也只能用命令关闭,所以需要使用脚本

/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/usr/local/mysql5.7/my.cnf
进入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

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

你可能感兴趣的:(mysql,数据库)