centos安装mysql8.0.28

下载好了解压出来

Copy
mysql-community-client-8.0.28-1.el7.x86_64
mysql-community-client-plugins-8.0.28-1.el7.x86_64
mysql-community-common-8.0.28-1.el7.x86_64
mysql-community-devel-8.0.28-1.el7.x86_64
mysql-community-embedded-compat-8.0.28-1.el7.x86_64
mysql-community-icu-data-files-8.0.28-1.el7.x86_64
mysql-community-libs-8.0.28-1.el7.x86_64
mysql-community-libs-compat-8.0.28-1.el7.x86_64
mysql-community-server-8.0.28-1.el7.x86_64
mysql-community-test-8.0.28-1.el7.x86_64

我已经下载好了，这里放一个城通网盘的下载链接：

https://url10.ctfile.com/d/25666910-50740516-e8e9ca?p=4232

（访问密码：4232）

然后再在别处创建个文件夹，里面装这几项

Copy
mysql-community-common-8.0.28-1.el7.x86_64.rpm

mysql-community-common-8.0.28-1.el7.x86_64.rpm

mysql-community-libs-8.0.28-1.el7.x86_64.rpm

mysql-community-client-8.0.28-1.el7.x86_64.rpm

mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm

mysql-community-server-8.0.28-1.el7.x86_64.rpm

然后传输到 Linux 系统中 /usr/local/mysqls 去，没 mysql 文件夹就自己新建一个

然后检查 mysql 需要的依赖

Copy
rpm -qa|grep libaio

如果无输出，则说明没有，需要执行下载：

Copy
yum -y install libaio

再检查 net-tools

Copy
rpm -qa|grep net-tools

如果无输出，则说明没有，需要执行下载：

Copy
yum -y install net-tools

传输成功后按照以下顺序执行，千万不能顺序出错，否则可能出错误

(最好是找一个 txt 文件把下面的代码复制进去，把我文件名替换成你的文件名，然后再复制到 linux 系统里一句一句的去执行)

Copy
rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm

若安装报错，可以在报错的 rpm 语句后面加上 --nodeps --force，比如第二个安装报错了，

Copy
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm

那就后面加上 --nodeps --force 重新执行

Copy
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm --nodeps --force

对安装路径进行授权

Copy
chown mysql:mysql /var/lib/mysql -R
mkdir /var/log/mysql
chown mysql:mysql /var/log/mysql -R

初始化 mysql

Copy
mysqld --initialize

授权

Copy
chmod -R 777 /var/lib/mysql/auto.cnf
chown mysql:mysql /var/lib/mysql -R

启动 mysql 服务

Copy
systemctl start mysqld.service

检查 mysql 状态

Copy
systemctl status mysqld.service

查看 mysql 初始密码

Copy
cat /var/log/mysqld.log | grep password

登录 mysql

Copy
mysql -u root -p

修改 mysql 密码

Copy
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

致此，mysql 安装完毕。

（安装过程中若出现报错，可以试着把授权代码都再次执行一遍）

若出现无法修改密码

查看当前设置

Copy
show variables like 'validate_password%';

修改密码长度

Copy
set global validate_password.length=6;

修改密码等级

Copy
set global validate_password.policy=LOW;

设置 check_name

Copy
set global validate_password.check_user_name=OFF;

再次修改密码

Copy
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

设置远程访问

Copy
create user 'root'@'%' identified with mysql_native_password by '123456';

给 root 授予所有操作权限

Copy
grant all privileges on *.* to 'root'@'%' with grant option;

刷新权限

Copy
flush privileges;

在 linux 系统的防火墙里开放 3306 端口

Copy
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙使得开放的端口生效

Copy
sudo firewall-cmd --reload

修改 mysql 端口

Copy
vi /etc/my.conf

在里面的 [mysqld] 下面添加端口，有 port 就修改 port 后面的端口，没有直接加上 port = 你要设置的端口号

Copy
[mysqld]
port=端口号

（mysql 默认端口号是 3306）

在 linux 系统的防火墙里开放端口

（如果你的服务里发行了 mysql 还是访问不了，那就在云服务器商的管理平台页面去放行一下该端口，云服务器商的开放端口一般叫做安全组。

是的，你没看错，你服务器上的服务是这样被访问的：

云服务器商的控制层 - 你的服务器控制层 - 你的服务器上的服务

）

Copy
sudo firewall-cmd --zone=public --add-port=端口号/tcp --permanent

查询安装的 mysql

Copy
yum list installed | grep mysql

卸载 mysql

Copy
yum -y remove mysql-community-client.x86_64
yum -y remove mysql-community-client-plugins.x86_64
yum -y remove mysql-community-common.x86_64
yum -y remove mysql-community-icu-data-files.x86_64
yum -y remove mysql-community-libs.x86_64
yum -y remove mysql-community-server.x86_64

文章参考