1.准备环境
官网下载安装包
这里下载8.0.18版本
https://downloads.mysql.com/archives/community/

这里选择 mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
注意 如果下载的是 mysql-8.0.18-linux-glibc2.12-x86_64.tar 解压后包含上面那个

步骤1:上传
将下载后的mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz 上传到 usr/local 目录
步骤2:解压
tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

重命名 mysql
mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql
步骤3:创建用户和组
groupadd mysql
useradd mysql -g mysql

切换 mysql目录 创建data目录, 这里便于后面初始化数据库目录 用到

步骤4:修改mysql目录所属组及用户
chown -R mysql .
chgrp -R mysql .

步骤5:初始化数据库目录,记住临时密码
bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data

步骤6:将MYSQL加入到服务自启动
cp mysql.server /etc/init.d/mysql.server

步骤7:启动
/etc/init.d/mysql.server start
启动报错

原因:虚拟机镜像Centos默认 安装了mariabd
通过vi /etc/my.cnf 查看发现里面是有内容的


步骤8: 删除 /etc/my.cnf,重新启动
删掉是什么意思? 我现在启动是以mysql所有默认参数来启动

注意: 启动过程中如果碰到
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open
shared object file: No such file or directory
则 需要安装包 yum install -y libaio
步骤9: 启动成功

步骤10:登陆
进入 mysql\bin 目录 (这里可以通过配置环境变量,在任意目录执行此命令)
密码是上图步骤5 中保存下来的临时密码

步骤11:更改密码

必须要修改密码
alter user user() identified by 'mysql';

重新登陆成功

步骤12:连接测试
windwos 中 telnet mysql服务 3306端口 连不上,原因:防火墙未开放端口
firewall-cmd --list-all -- 查看所有开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent -- 追加3306端口
firewall-cmd --reload -- 重新加载

1.用navicat 客户端工具连接测试,连不上

2.设置mysql 允许远程连接
./mysql -u root -pmysql --进入mysql
use mysql
update user set host='%' where user = 'root'; --更新域,设置任意ip访问
FLUSH PRIVILEGES; --刷新
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; --root用户授权

再次测试 依然连接不上

百度,出现这个原因是mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
解决办法有2种
1.一种是升级navicat驱动;
2.一种是把mysql用户登录密码加密规则还原成mysql_native_password。
我这里选择第1种方式解决,第2种可以自行百度解决
参考地址:
https://cloud.tencent.com/developer/article/2153374
3.网上下载最新 16免费试用版本测试,成功连接


