CentOS8 安装mysql8- 解压安装版

本文详细介绍了在CentOS8上安装MySQL8.0.26的步骤,包括下载、解压、配置环境变量、创建用户组和用户、初始化数据库、启动服务等。同时,针对Navicat连接MySQL出现10060错误,分析了可能的原因,如防火墙、权限设置,并提供了相应的解决方案,包括修改MySQL配置、身份验证方式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS8安装MySQL8.0.26

目录

CentOS8安装MySQL8.0.26

一、下载

二、安装

2.1 将下载的mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz上传到服务器,并解压为tar

2.2 解压mysql-8.0.26-linux-glibc2.12-x86_64.tar 到 目录 /usr/local下面

2.3 进入mysql解压后的目录mysql8,并创建存放mysql日志的目录

2.4 配置mysql环境变量

2.5 创建mysql用户组和mysql用户

2.6 关联myql用户到mysql用户组中

 2.7 更改mysql安装文件夹mysql的权限

2.8 安装libaio依赖包

2.9 初始化mysql命令

2.10 启动mysql服务

2.11 修改Mysql配置文件

 2.12 修改my.cnf文件

2.13 启动服务

2.14 登录mysql

2.15 修改初始化用的临时密码

至此,完成mysql8.0.26的安装。


一、下载

链接:https://dev.mysql.com/downloads/mysql/

点击 Download,如下图:

没有登陆,点击 “No thanks,just start my downlaod.” 即可下载

提示:  如果发现执行语句报错,如下

复制语句到记事本发现: 多了一个<0xa0>  删除用空格替换就好了

二、安装

2.1 将下载的mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz上传到服务器,并解压为tar

命令:

xz -dev mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

如下图:

2.2 解压mysql-8.0.26-linux-glibc2.12-x86_64.tar 到 目录 /usr/local下面

解压命令:

tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar -C /usr/local/

重命名:

mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql8

如下图,

2.3 进入mysql解压后的目录mysql8,并创建存放mysql日志的目录

cd /usr/local/mysql8/

mkdir data

2.4 配置mysql环境变量

#如果有PATH这一项,在后面用分号;把jdk的环境变量加进去
vim /etc/profile    #打开环境变量配置文件
export MYSQL_HOME=/usr/local/mysql8/bin
export PATH=$PATH:$MYSQL_HOME

如果path存在多个,参考:

export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$MYSQL_HOME

如下图:

配置完成后重载:

source /etc/profile

2.5 创建mysql用户组和mysql用户

groupadd mysql
useradd -g mysql mysql

如下图:

2.6 关联myql用户到mysql用户组中

进入到mysql8所在目录,此例中为/usr/local/

 2.7 更改mysql安装文件夹mysql的权限

[root@localhost local]# chmod -R 755 mysql8

2.8 安装libaio依赖包

查询是否安装libaio依赖包

yum search libaio

如果没安装,可以用下面命令安装:

yum install libaio

2.9 初始化mysql命令

mysqld --user=mysql --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/data --initialize

红色框内的是mysql数据库登录的临时密码,保存备用,每个人安装生成的临时密码不一样。

2.10 启动mysql服务

sh /usr/local/mysql8/support-files/mysql.server start

上面启动mysql服务命令是会报错的,因为没有修改mysql的配置文件,报错内容大致如下:

2.11 修改Mysql配置文件

vim /usr/local/mysql8/support-files/mysql.server

修改以下属性:

basedir=/usr/local/mysql8
datadir=/usr/local/mysql8/data
mysqld_pid_file_path=/usr/local/mysql8/data/mysqld_pid

如下图所示:

接下来,

cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

将mysql服务加到系统服务中

chkconfig --add mysqld

开机自启动

chkconfig mysqld on

如下图:

 2.12 修改my.cnf文件

这里下载的mysql8.0.23版本并没有这个my.cnf文件,因此直接创建的。

vim /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
basedir=/usr/local/mysql8
datadir=/usr/local/mysql8/data
socket=/tmp/mysql.sock
user=mysql
port=3306
character_set_server=utf8
# symbolic-links=0
# bind-address=0.0.0.0


[mysqld_safe]
log-error=/usr/local/mysql8/data/error.log
pid-file=/usr/local/mysql8/data/mysqld.pid
tmpdir=/tmp

复制代码

my.cnf 如下图:

然后,授权文件my.cnf

[root@localhost etc]# chown mysql:mysql my.cnf

[root@localhost etc]# chown mysql my.cnf

[root@localhost etc]# chmod 755 my.cnf

再次启动mysql服务成功,如下图:

2.13 启动服务

查看服务:service mysqld status

停止服务:service mysqld stop

启动服务:service mysqld start

如下图:

启动如果报错

@[TOC](ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists)
centos中启动、重启,或者查看mysql状态时报错
ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists 

解决

删除var/lock/subsys/mysql下的mysql 文件

rm -rf var/lock/subsys/mysql

在这里插入图片描述

2.14 登录mysql

mysql -uroot -p

此时出现错误:

./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

解决办法:

yum install libncurses*

 完美解决!

再次登录mysql(注意:这里的密码是初始化生成的临时密码)

2.15 修改初始化用的临时密码

use mysql

报错如下:

解决办法:

修改初始密码:

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

刷新:

flush privileges;

至此,完成mysql8.0.26的安装。


首先检查是否ping得通,其次再检查如下原因:

原因一:由于mysql 没有开启对外访问权限

原因二:由于防火墙没有对外开放mysql的默认端口3306导致

原因三:由于阿里云或者是腾讯云的安全组规则没有开放3306端口

参考:2021-08-15_wcybaonier的博客-CSDN博客 此文章可解决;

如果还未解决,通过netstat查看3306的端口状态是怎么样的?是否绑定了本地回旋地址?

netstat -apn | grep 3306

如果MySQL的默认bind-address(监听IP地址)为127.0.0.1,即只能为本机提供服务,禁止远程连接。则只需要如下解决:

[mysqld]
bind-address = 0.0.0.0

但这里不是,我这里的原因是防火墙没有放行。

另外,由于是CentOS8版本,防火墙命令有差异,参考https://blog.csdn.net/RougeK/article/details/108676073即可。
#禁用,禁止开机启动: 

systemctl disable firewalld


#停止运行: 

systemctl stop firewalld

yum安装iptables

yum -y install iptables-services

启动

systemctl start iptables

配置
vim /etc/sysconfig/iptables

由于我这里是测试环境,在虚拟机内使用,则直接关闭了防火墙,实际生产环境应该是放行3306端口。如下图:

然后再重启Linux,再进行Navicat Premium连接,提示一下错误:

又该如何解决?

原因分析:

其实是mysql8.0版更换了新的身份验证是(caching_sha2_password)之前身份验证是(mysql_native_password),Navicat,和SQLyog客户端软件其实是不支持新的身份验证,也就是说新的身份验证找不到(caching_sha2_password),既然知道了是这个问题,那么我们就把登录密码加密规则改回(mysql_native_password)即可。

参考:https://blog.csdn.net/weixin_40845165/article/details/84076691 即可:

第一步:登录MySQL

mysql -uroot -p

第二步:修改加密规则

alter user 'root'@'%' identified by 'password' password expire never;

第三步:更新用户密码

alter user 'root'@'%' identified with mysql_native_password by 'password';

第四部:刷新权限

flush privileges;

第五步:重置密码

alter user 'root'@'%' identified by 'root';

如下图:

再次重新连接,成功!

Centos7上安装mysql-connector-c++的步骤如下: 1. 首先,你需要下载mysql-connector-c++的安装包。你可以从MySQL官方网站上下载最新版本的mysql-connector-c++。 2. 下载完成后,解压安装包。你可以使用以下命令解压: ``` tar -zxvf mysql-connector-c++-<version>.tar.gz ``` 3. 进入解压后的目录: ``` cd mysql-connector-c++-<version> ``` 4. 接下来,你需要安装必要的依赖项。你可以使用以下命令安装: ``` sudo yum install mysql-connector-c++-devel ``` 5. 安装完成后,你可以开始编译和安装mysql-connector-c++。你可以使用以下命令: ``` ./configure make sudo make install ``` 6. 编译和安装完成后,你可以在你的代码中引入mysql-connector-c++的头文件,并使用相应的命名空间。例如: ``` #include <jdbc/mysql_connection.h> #include <jdbc/cppconn/driver.h> #include <jdbc/cppconn/exception.h> #include <jdbc/cppconn/resultset.h> #include <jdbc/cppconn/statement.h> #include <jdbc/cppconn/prepared_statement.h> ``` 7. 现在,你可以在你的代码中使用mysql-connector-c++来连接和操作MySQL数据库了。你可以参考mysql-connector-c++的官方文档和示例代码来学习如何使用它。 请注意,以上步骤仅适用于Centos7系统。如果你使用的是其他操作系统,请参考相应的文档来进行安装。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Centos7 安装测试MySQL Connector/C++](https://blog.csdn.net/xqs51163/article/details/123690731)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Linux CentOS 7 安装mysql的两种方式](https://blog.csdn.net/Escorts/article/details/118941623)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wcybaonier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值