Centos下载安装连接MySQL8

一、下载

链接:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述
点击 Download,如下图:
在这里插入图片描述
没有登录,点击 “No thanks,just start my downlaod.” 即可下载

二、安装

2.1 将下载的mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz上传到服务器,并解压为tar。

在这里插入图片描述

2.2 解压mysql-8.0.34-linux-glibc2.28-x86_64.tar 到 目录 /opt下面

解压命令:tar -xvf mysql-8.0.34-linux-glibc2.28-x86_64.tar -C /opt

重命名:mv mysql-8.0.34-linux-glibc2.28-x86_64 mysql8

如下图,
在这里插入图片描述

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

cd /opt/mysql8/

mkdir data
在这里插入图片描述

2.4 配置mysql环境变量

vim /etc/profile

MYSQL_HOME=/opt/mysql8/bin

PATH= P A T H : PATH: PATH:MYSQL_HOME

export MYSQL_HOME PATH

如下图:
在这里插入图片描述
配置完成后重载:

source /etc/profile
在这里插入图片描述

2.5 创建mysql用户组和mysql用户

groupadd mysql
useradd -g mysql mysql

如下图:
在这里插入图片描述

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

进入到mysql8所在目录,此例中为/opt/
在这里插入图片描述

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

[root@localhost module]# chmod -R 755 mysql8
在这里插入图片描述

2.8 安装libaio依赖包

查询是否安装libaio依赖包

yum search libaio
在这里插入图片描述
如果没安装,可以用下面命令安装:

yum install libaio
在这里插入图片描述

2.9 初始化mysql命令

mysqld --user=mysql --basedir=/opt/mysql8 --datadir=/opt/mysql8/data --initialize
在这里插入图片描述
红色箭头指向的是mysql数据库登录的临时密码,保存备用,每个人安装生成的临时密码不一样。

2.10 启动mysql服务

sh /opt/mysql8/support-files/mysql.server start

上面启动mysql服务命令是会报错的,因为没有修改mysql的配置文件,报错内容大致如下:
在这里插入图片描述

2.11 修改Mysql配置文件

vim /opt/mysql8/support-files/mysql.server

修改以下属性:

basedir=/opt/mysql8
datadir=/opt/mysql8/data

mysqld_pid_file_path=/opt/mysql8/data/mysqld_pid

如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来,复制进程文件
cp /opt/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=/opt/mysql8
datadir=/opt/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=/opt/mysql8/data/error.log
pid-file=/opt/mysql8/data/mysqld.pid
tmpdir=/tmp

然后,授权文件my.cnf

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

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

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

再次启动mysql服务成功,如下图:
在这里插入图片描述

2.13 启动服务

查看服务:service mysqld status

停止服务:service mysqld stop

启动服务:service mysqld start

如下图:
在这里插入图片描述

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* 完美解决!
在这里插入图片描述
在这里插入图片描述

2.15 修改初始化用的临时密码(一定要修改,不然会出如下错误)

use mysql

报错如下:
在这里插入图片描述
解决办法:

修改初始密码: alter user ‘root’@‘localhost’ identified by ‘root’;
在这里插入图片描述
刷新:flush privileges;
在这里插入图片描述
至此,完成mysql8.0.23的安装。

三、连接Navicat

在这里插入图片描述
首先检查是否ping得通,其次再检查如下原因:

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

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

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

3.1、通过netstat查看3306的端口状态是怎么样的?是否绑定了本地回旋地址?

netstat -apn | grep 3306
在这里插入图片描述
如果MySQL的默认bind-address(监听IP地址)为127.0.0.1,即只能为本机提供服务,禁止远程连接。则只需要如下解决:

[mysqld]
bind-address = 0.0.0.0
我这里的原因是防火墙没有放行。

3.2、yum安装iptables

yum -y install iptables-services
在这里插入图片描述
需要一点时间,耐心等待

3.3、启动

systemctl start iptables
在这里插入图片描述

3.4、配置(此步骤可以配置放行3306端口,在测试环境中可以直接关闭防火墙)

vim /etc/sysconfig/iptables(可以不配置)
在这里插入图片描述

然后再重启Linux,

四、使用Navicat连接

进行Navicat Premium连接,提示一下错误:
在这里插入图片描述
原因分析:

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

第一步:登录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’;
在这里插入图片描述

再次重新连接,成功!

在这里插入图片描述

五、连接云服务器的防火墙配置

如果连接云服务器提示无法连接服务,考虑是否是防火墙没有对3306端口放行。可以进行如下设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后在服务器中执行如下命令
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值