Linux服务器安装两个不同版本得MySQL数据库

:2020年06月11日 CSDN Feify@肥肥
分享到:

最近MySQL发布了新版本,MySQL8.0,基于8.0做了诸多得优化,我们想在自己的业务中使用这个版本,但是为了安全起见,需要做相关的测试工作。同时为了保证其在相同的硬件工况下,所以我们选择在同一个机器上...

最近MySQL发布了新版本,MySQL8.0,基于8.0做了诸多得优化,我们想在自己的业务中使用这个版本,但是为了安全起见,需要做相关的测试工作。同时为了保证其在相同的硬件工况下,所以我们选择在同一个机器上部署5.7和8.0两个不同的版本。因为是两个不同的版本,所以安装的时候需要有较多注意的地方,下面我就针对这样的一种背景对“同一机器安装不同版本的安装步骤进行一个记录和分享”。

第一步,使用默认方式(普通安装)

先选择使用rpm安装8.0版本,具体选择哪个版本无所谓,都行,

  1. 首先去mysql网站上下载mysql社区版的完全包,分清32位还是64位。

  2. Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle

  3. wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

  4. 安装的准备工作

  5. 安装时候会提示与已经安装的RPM包有冲突,所以我们先卸载一些RPM包。

  6. 我们要卸载的是包含有mariadb关键字的RPM包,执行命令:rpm -qa|grep mariadb来查看一下我们要卸载哪些软件。

  7. rpm -e 卸载,有可能因为依赖卸载不掉。可以使用这个rpm -e --nodeps 忽略依赖卸载,也可以解决依赖。

  8. 卸载完了,我们就开始安装吧

  9. 首先解开包

  10. tar -xf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

  11. 安装前,先讲一下,

  12. 虽然官方文档说安装mysql-community-client-8.0.13-1.el7.x86_64.rpm和mysql-community-server-8.0.13-1.el7.x86_64.rpm就可以获得标准功能的MySQL。

  13. 但是由于RPM包的依赖关系,实际上我们需要安装4个包,并且是按照顺序的。

  14. rpm -Uvh --force mysql-community-common-8.0.13-1.el7.x86_64.rpm

  15. rpm -Uvh --force mysql-community-libs-8.0.13-1.el7.x86_64.rpm

  16. rpm -Uvh --force mysql-community-client-8.0.13-1.el7.x86_64.rpm

  17. rpm -Uvh --force mysql-community-server-8.0.13-1.el7.x86_64.rpm

这样我们就把MySQL安装好了,当然最重点的地方也就来了,那就是初始化。

初始化之前一定要配置你的my.cnf文件.默认路径是/etc/my.cnf

生成密码的初始化:mysqld --initialize --user=mysql

不生成密码的初始化:mysqld --initialize-insecure --user=mysql

你也可以指定自己的目录:

mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data

如果你不指定目录,

mysql的basedir是/var/lib

mysql的datadir是/var/lib/mysql

mysql的cnf文件在/etc/my.cnf

在Unix系列系统中,有一点是很重要的,那就是确保数据库目录与文件的所有者为mysql登录账户,

以便在你运行mysqld服务的时候,mysql服务可以对这些目录和文件进行读取与写入操作

如果你是以root身份运行mysqld服务,执行初始化命令时一定要带有–user=mysql

当你是以mysql的账户登录并执行程序的情况下,你可以将–user=mysql选项从命令中去掉。

mysql的命令在/usr/bin/ ,可以使用ll /usr/bin/ |grep mysql查看

mysql的文件在/var/lib,可以使用ll /var/lib |grep mysql查看

初始化的时候如果报错。[ERROR] --initialize specified but the data directory exists. Aborting.

遇到这种情况,就将数据目录删除后,重新再初始化一次.

mysql的初始密码在 /var/log/mysqld.log

在这句话后面的就是密码[Note] A temporary password is generated for root@localhost:

启动服务 systemctl start mysqld

查看服务 systemctl status mysqld

我们来对上一步作个补充,因为你也有可能会遇到。如果你在执行命令:

systemctl start mysqld时,出现了这样的提示:

Job for mysqld.service failed. See ‘systemctl status mysqld.service’ and ‘journalctl -xn’ for details.

我们先查看一下/var/lib/mysql-files目录是否存在,执行命令:ls -ld /var/lib/mysql-files。

如果不显示任何信息就表示不存在,执行命令:mkdir /var/lib/mysql-files,创建/var/lib/mysql-files目录。

这时,我们试着执行命令:systemctl start mysqld。

如果还出现图一样的提示,我们执行另一条命令:chown -R mysql:mysql /var/lib/mysql

将/var/lib/mysql目录及其下所有文件和子目录的所有者和所属组都改为mysql。我们再执行一下:systemctl start mysqld应该就可以启动mysqld服务了。

连接数据库

mysql -uroot -p;

修改密码.

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘newpassword’;

设置开放远程登陆

USE mysql;

SELECT host FROM user WHERE user = “root”;

UPDATE user SET HOST = ‘%’ WHERE user = “root”;

FLUSH PRIVILEGES;

grant all privileges on . to ‘root’@’%’;

GRANT ALL ON . TO ‘root’@’%’;

FLUSH PRIVILEGES;

SELECT host FROM user WHERE user = “root”;

如果有主从库的话还要让主从库进行同步.看5.6的安装指南即可

mysql8.0默认字符集是utf8mb4

这样,我们的MySQL8.0就安装好了。

第二步 安装第二个版本

我选用了MySQL5.7的版本

第二个版本的MySQL不能再使用rpm的方式安装了,需要换一种方式,这里用源码的方式安装(使用tar.gz安装包))

  1. 准备工作:下载tar.gz,链接:https://dev.mysql.com/downloads/mysql/5.7.html#downloads,选择Linux通用包

  2. 解压缩下载的xxxx.tar.gz文件,并重命名,注意自己存放的文件路径名称。

  3. 使用tar -zxvf xxx.tar.gz来解压文件,根据自己的文件管理方式,对解压后的文件进行重命名,方便后续的配置管理工作

  4. 创建数据库配置文件,在你解压的安装包下,和bin同级目录下创建一个文件夹etc,然后创建配置文件,一般名称为my.cnf 。其实在根目录 /etc/my.cnf 有这个文件,所以只需要复制就行了,因为在安装8.0的时候已经产生了一个,所以复制过来就行。

#在目录etc目录下,执行命令

cp /etc/my.cnf ./12

如图和我的路径

5. 编辑刚复制的my.cnf文件,由于我的服务器没有vim命令,所以我就使用vi命令了 vi etc/my.cnf 。编辑如下内容

[root@localhost etc]# cat my.cnf

[mysqld]

basedir= /home/soft/mysql5.7

datadir = /home/data/mysql5.7/data

port = 3308

socket = /home/soft/mysql5.7/mysql.sock

[client]

socket = /home/soft/mysql5.7/mysql.sock

#不区分大小写

lower_case_table_names =123456789101112

6. 安装依赖包,因为是源码安装,需要有安装依赖包

yum -y install make gcc-c++ cmake bison-devel ncurses ncurses-devel libaio-devel1

  1. 指定配置文件初始化

./mysqld_safe --defaults-file=/home/soft/mysql5.7/etc/my.cnf  --user=root &1

注意保存初始化密码

8. 接着初始化数据库

./bin/mysqld_safe --defaults-file=/home/soft/mysql5.7/etc/my.cnf  --user=root &1

上面的命令注意结尾符号& ,接着执行mysql.server start,如果出现如下的问题,那就修改mysql.server文件

将mysql.server的内容修改:

basedir=你的路径

datadir=你的路径,改成如下图所示

9. 启动

修改好之后再执行 ./support-files/mysql.server start ,如果正确,该数据库实例将正常启动了,可以使用命令查看: netstat -tlunp

10. 如果没有配置系统管理工具启动,那么机器重启后需要手动重启MySQL服务,可以指定配置文件的方式启动

 ./mysqld --defaults-file=/home/soft/mysql5.7/etc/my.cnf --user=root &1

11.其他

最后一步,登录修改账号配置

#./bin/mysql --socket=…/mysql.sock --port=3308 -u root -p

使用初始化的时候得到的密码 xxxxx(前面初始化时候日志里的).;

进入后直接修改密码,初始化密码修改后才能操作。

mysql>alter user ‘root’@‘localhost’ identified by ‘123456’;

mysql>use mysql;

msyql>update user set user.Host=’%’ where user.User=‘root’;

mysql>flush privileges;

mysql>quit

找个客户端远程链接测试一下,是ok得

至此,两个数据可以就都可以同时和谐共处了

(参考)[https://blog.csdn.net/u010898329/article/details/83064373]

(资料)[https://blog.csdn.net/itjin45/article/details/40303497]

原文出处:https://blog.csdn.net/LeegooWang/article/details/98058881

文/  宋聪乔
关键词: 最近 MySQL 发布 新版本 MySQL8.0

来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

您在阅读:Linux服务器安装两个不同版本得MySQL数据库

Copyright©2013-2020 JSedu114 All Rights Reserved. 江苏教育信息综合发布查询平台保留所有权利

苏公网安备32010402000125苏ICP备14051488号-3南京思必达教育科技有限公司版权所有

技术支持:南京博盛蓝睿网络科技有限公司  

最热文章
最新文章
  • 卡尔蔡司镜片优惠店,镜片价格低
  • 苹果原装手机壳