linux安装mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

一、背景

目前大多数公司搭建环境都是使用docker实现容器化部署,但是有时会遇到linux服务器不能上网的场景,比如政府,事业单位的服务器,为了安全是不链接网络的。所以系统搭建都是离线进行的。

本博文就是描述了linux离线安装mysql8.0的过程。

二、准备工作

1.下载mysql8.0 tar包

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

包下载地址:

2.安装

1.解压mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz到/usr/local/mysql

tar -zxvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

cp mysql-8.0.18-linux-glibc2.12-x86_64 /usr/local/mysql -r

2.添加系统的mysql组和mysql用户

groupadd mysql

useradd -r -g mysql mysql

这个时候可能会报一个错误,百度查是缺少什么依赖包,是个很奇怪的错误,我记不得了,但是不是报 groupadd: unable to open group file 这种很好解决的错误。其实不用管,你再执行一次会提示 mysql 组已经存在,所以这个错误不用管了。

到mysql目录下:

cd /usr/local/mysql

修改文件权限:

chown -R mysql:mysql ./

这一步很重要如果没有操作后续会报错,下面再做说明。

3./usr/local/mysql路径创建data文件夹

mkdir data

4.初始化数据库

bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

会自动生成随机密码,记下等下登陆要用

5.修改当前目录mysql的用户权限为root,data文件夹为mysql

chown -R root:root ./

chown -R mysql:mysql data

6.创建配置文件

查看etc/my.cnf 是否有文件my.cnf

如果没有则执行一下操作:

查看有没有 support-files/my-default.cnf这个文件,有的话直接复制到/etc/my.cnf

cp support-files/my-default.cnf /etc/my.cnf

如果没有my-default.cnf这个文件,可以用 touch my-default.cnf 命令创建一个,并配置权限,再复制

chmod 777 ./my-default.cnf

# cd support-files/
# touch my-default.cnf
# chmod 777 ./my-default.cnf 
# cd ../
# cp support-files/my-default.cnf /etc/my.cnf 

7.配置配置文件

vim /etc/my.cnf

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

注意:socket路径要配置正确,之前配置的路径是 /usr/local/mysql/tmp/mysql.sock,是错误的,不用自己建立tmp文件夹。其他的对应创建文件就可以了。

8.开机自启

cp support-files/mysql.server /etc/init.d/mysql

chmod +x /etc/init.d/mysql

9.注册服务

chkconfig –add mysql

10.查看是否添加成功

chkconfig –list mysql

11.etc/ld.so.conf要配置一个路径,不然报错

vim /etc/ld.so.conf

添加如下内容:

/usr/local/mysql/lib

这个也可以不用加,我安装的时候没有配置这个,也没出问题。

12.配置环境变量/etc/profile

vi /etc/profile

末尾添加如下内容:

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib

生效参数 :

source /etc/profile

13.启动服务

service mysql start

可能会报这个类似的错误:

当时查看了很多博客,比如:https://blog.csdn.net/zxlhaoren/article/details/88022523   都没有解决我的问题。

后来发现是mysql下的data文件夹权限被设置成了root,所以一直报这个错误,上面的代码图片有说明。

重新执行:

chown -R mysql.mysql /usr/local/mysql/data

再启动服务:

service mysql start

启动成功!

14.登录并修改密码

mysql -uroot -p    cCS<-H=Yu0Os

后面是系统生成的密码

15.修改密码

第一次使用随机密码登陆之后,不能操作数据库,会提示

修改密码:

alter user 'root'@'localhost' identified by '123456';

用新密码登陆mysql:

mysql -uroot -p   123456

这个账号只能localhost访问。

mysql8.0之后添加访问权限用户时要先创建用户,如果希望用户在任意ip都可以访问数据库,就可以先创建这个类型的用户:

mysql> create user 'root'@'%' identified by '123456';

Query OK, 0 rows affected (0.00 sec

再授权:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  WITH GRANT OPTION;

flush privileges;

16.新root账号在任意ip访问数据库

当然如果linux在内网就只能内网访问了

17.navicat链接mysql

初次用 Navicat 连接本地的mysql是会报错:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded:

出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 

解决办法:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';   #更新一下用户的密码 

 

 

本文安装过程参考博客,非常感谢博主的技术分享:

https://blog.csdn.net/weixin_42109071/article/details/89375748

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 这两个文件都是MySQL 8.0.32的Linux版本,但它们的格式不同。mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz是一种更有效的压缩格式,它可以减少文件的大小,但是你需要特定的解压缩工具才能解压它。mysql-8.0.32-linux-glibc2.12-x86_64.tar是一种普通的压缩格式,通常你可以使用标准的解压缩工具来解压它。 ### 回答2: mysql-8.0.32-linux-glibc2.12-x86_64.tar.xzmysql-8.0.32-linux-glibc2.12-x86_64.tar的区别在于文件格式和压缩类型。 首先,mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz是使用xz压缩工具对文件进行压缩而成的,而mysql-8.0.32-linux-glibc2.12-x86_64.tar则没有经过压缩。 其次,xz是一种高压缩率的文件压缩格式,可以将文件大小大大减小,节省存储空间。而未经过压缩的tar文件大小较大,保存在磁盘上需要更多的空间。 另外,xz压缩工具通常提供更好的压缩效率和速度,但解压缩所需的时间较长。相比之下,tar文件无需解压缩直接可以使用,更加方便。 在选择使用哪个文件时,需要根据具体的需求和环境来考虑。如果磁盘空间有限或需要节省存储空间,则可以选择使用已压缩的tar.xz文件。而如果磁盘空间充足,或需要更快速地使用该文件,则可以选择使用未经压缩的tar文件。 ### 回答3: mysql-8.0.32-linux-glibc2.12-x86_64.tar.xzmysql-8.0.32-linux-glibc2.12-x86_64.tar这两个文件的区别在于它们的文件格式。 首先,两个文件都是MySQL 8.0.32版本的安装包。这是一个常用的关系型数据库管理系统,用于存储和管理数据。 其次,两个文件的名称中包含的信息相同,都表示这是Linux操作系统上的MySQL 8.0.32版本。x86_64表示这个安装包适用于64位的x86架构。glibc2.12表示所需的glibc库的最低版本是2.12。 最重要的区别在于文件的扩展名。第一个文件是以.tar.xz结尾,而第二个文件则是以.tar结尾。 .tar是一种常见的打包格式。它是一种归档格式,可以将多个文件或文件夹打包成一个单独的文件。.tar文件可以使用tar命令进行解压和解包。 而.tar.xz格式则是在.tar文件的基础上进行了压缩。它使用XZ算法对.tar文件进行了压缩,使得文件更小,占用更少的存储空间。为了使用.tar.xz文件,需要事先安装xz工具,并使用tarxz命令进行解压和解包。 因此,如果我们希望在Linux操作系统上安装MySQL 8.0.32,我们可以根据自己的需求选择这两个文件中的一个。如果我们对存储空间有要求,可以选择.tar.xz文件,但在使用之前需要先解压和解包。如果我们对存储空间没有特别要求,可以选择.tar文件,这样可以省去解压和解包的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值