centos8系统下mysql8.0.19版本离线安装

mysql各版本区别

1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。

2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。

3. MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。

4. MySQL Cluster CGE 高级集群版,需付费。

5. MySQL Workbench(GUITOOL)一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQLWorkbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。

下载地址:https://dev.mysql.com/downloads/ 官网   https://mirrors.163.com/mysql/Downloads/MySQL-8.0/ 网易镜像

我这里安装选的是社区版,因为是centos操作系统,所以选Red Hat Enterprise Linux 8 / Oracle Linux 8 (x86, 64-bit), RPM Bundle这个版本

1、卸载centos系统自带的mariadb数据库

rpm -qa |grep mariadb |xargs yum remove -y

2、解压安装包

tar axvf mysql-8.0.19-1.el8.x86_64.rpm-bundle.tar

3、安装数据库,必须安装的四个文件,要按顺序安装,不然会出现找不到依赖包的错误

rpm -ivh mysql-community-common-8.0.19-1.el8.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.19-1.el8.x86_64.rpm

rpm -ivh mysql-community-client-8.0.19-1.el8.x86_64.rpm

rpm -ivh mysql-community-server-8.0.19-1.el8.x86_64.rpm

如果安装一些安装包提示以下错误:

警告:mysql-community-devel-8.0.19-1.el8.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY

错误:依赖检测失败:

pkgconfig(openssl) 被 mysql-community-devel-8.0.19-1.el8.x86_64 需要

表明缺少依赖包,如果安装主机能链接上公网可以直接用yum命令直接安装对应的依赖包,如:yum install libaio.so.1.如果是离线只能去下载对应的安装包拷贝回来进行安装。centos相关的依赖包可以去http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/地址中找。

4、初始化数据库

mysqld --initialize

5、查看配置文件、赋权

cat /etc/my.cnf

这里面有一行是 datadir=/var/lib/mysql 表示数据文件存放地址,这个文件夹要给mysql用户赋权,不然是无法启动数据库的。执行chown mysql:mysql /var/lib/mysql -R命令进行赋权。赋权必须在数据库初始化后进行(前提是你用非mysql用户安装mysql,而不是mysql用户),不然启动数据库会报错。

6、启动数据库

启动MySql

systemctl start mysqld.service

停止MySql

systemctl stop mysqld.service

重启MySql

systemctl restart mysqld.service

设置MySql开机自启

systemctl enable mysqld

7、查看修改root用户密码

通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码

红框内为密码

通过mysqladmin -uroot -p123456 password 123命令修改初始密码,-p后面的密码是上面查看到数据库的密码,password后面接的密码是最终要修改的密码。如果初始密码中有特殊字符,如<等字符,可以在密码信息两边加上单引号。如:mysqladmin -uroot -p'123456<' password '123>'

8、登陆数据库

mysql -u root -p

show databases;查看已有的数据库,use mysql切换数据库,show tables显示数据库里的所有表。

9、可能碰到的问题

如果是在数据库初始化之前执行chown mysql:mysql /var/lib/mysql -R赋权语句(前提是在root用户下安装mysql数据库,如果是在mysql 用户下安装应该不存在这个问题)。然后再执行数据库初始化、数据启动命令会报以下错误:

数据库服务启动失败

此时你根据提示的"systemctl status mysqld.service"和"journalctl -xe" 看详细信息根本看不到有用信息,就是提示你启动失败,具体详细信息如下:

执行systemctl status mysqld.service命令看到的信息
执行journalctl -xe命令看到的信息

这时如果看一下/var/log/mysqld.log文件会发现有用信息。

mysqld.log文件中会出现ibdata1文件必须可写的提示

ibdata1就是在执行mysqld --initialize数据库初始化命令在/var/lib/mysql目录下生成的

这时你重新执行一下chown mysql:mysql /var/lib/mysql -R命令,进行赋权,数据库就可以启动起来了。

如果数据库没有启动起来,执行mysql -u root -p登陆数据库会报以下错误

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

就是没有赋权导致的,执行 chown mysql:mysql /var/lib/mysql -R命令进行赋权

可以通过

ps aux | grep mysqld

systemctl status mysqld.service

service mysqld status

等命令查看数据库的当前状态。

参考摘录文档:

https://blog.csdn.net/qq_32671287/article/details/60872098

https://blog.csdn.net/wangkai_123456/article/details/87603464

https://blog.csdn.net/weixin_45765009/article/details/103965046

https://blog.csdn.net/qq_23167527/article/details/85236999

你可能感兴趣的:(centos8系统下mysql8.0.19版本离线安装)