Centos7 安装 Mysql 8.0.32,详细完整教程(好文章!!)

mysql5.7的安装方式参考之前的文章: 

centos7 安装 Mysql 5.7.27,详细完整教程(好文章!!)_HD243608836的博客-CSDN博客


一、检查mysql版本冲突

先检查是否已经存在mysql,若存在卸载,避免安装时产生一些错误!

rpm -qa | grep -i mysql

二、下载安装(两种方式)

方式一(在线)

>> yum方式:

略。

方式二(离线)

>> 官方网站下载:

Centos7 安装 Mysql 8.0.32,详细完整教程(好文章!!)_第1张图片

实际地址: 

1

https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar

卸载删除原有的mariadb,否则可能会报异常。

①、先查看一下是否已经安装了,

rpm -qa|grep mariadb

②、删除mariadb。

rpm -e --nodeps mariadb-libs

解压到指定文件夹(需要创建mysql-pkg文件夹:mkdir mysql-pkg): 

tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar -C ./mysql-pkg

 安装(需要进入mysql-pkg文件夹执行,cd mysql-pkg):

sudo rpm -ivh mysql*.rpm --nodeps --force

三、启动

启动MySQL:

systemctl start mysqld

检查是否启动成功:

systemctl status mysqld

四、修改密码

获取临时密码:

grep 'temporary password' /var/log/mysqld.log 

MySQL会为root用户随机生成了一个密码(如果安装多次,则会有多个,取最新的那个密码) 

 通过临时密码登录MySQL,修改密码:

mysql -uroot -p

使用临时密码登录后,不能进行其他的操作,否则会报错,这时候我们进行修改密码操作

 因为MySQL的密码规则需要很复杂,我们一般自己设置的不会设置成这样,所以我们全局修改一下:

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

这时候我们就可以自己设置想要的密码了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';

五、授权远程登录(其他机器)

MySQL8.0开始需要使用两句话,否则报错:

这一行命令来设置用户权限,必须分两步来实现设置用户权限【①先创建用户②再对该用户分配用户权限】,最后刷新权限

CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

而,MySQL8.0之前使用一句话即可:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

六、其他配置 

开启开机自启动

先退出mysql命令行,然后输入以下命令

systemctl enable mysqld
systemctl daemon-reload

字符集

在MySQL 8.0之前,默认字符集为latin1 ,utf8字符集指向的是utf8mb3 。如果遗忘修改默认的编码,就会出现乱码的问题。
从MySQL8MySQL 8.0开始,数据库的默认编码将改为utf8mb4 ,从而避免上述乱码的问题。所以不需要更改MySQL的字符集设置。

使用以下命令可以查看MySQL的默认字符集:

show variables like 'character%';
# 或者
show variables like '%char%';

所以不需要修改 /etc/my.cnf 。(当然如果修改my.cnf则需要重启mysql才能生效systemctl restart mysqld

防火墙端口

firewall-cmd --state
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

firewall-cmd --list-all

七、补充

1. 卸载MySQL仓库(只有开始用yum方式安装的,才需要卸载)

一开始的时候我们安装的yum,每次yum操作都会更新一次,耗费时间,我们把他卸载掉

rpm -qa | grep mysql

yum -y remove mysql57-community-release-el7-10.noarch

 2. 配置远程访问(否则默认只能本机访问)

1.在装有MySQL的机器上登录MySQL mysql -u root -p密码
执行:

use mysql;
select host from user where user = 'root';

Centos7 安装 Mysql 8.0.32,详细完整教程(好文章!!)_第2张图片

该结果表示是当前的root用户限制在当前的ip内访问的,需要修改他的访问域。 

注意:
如果如下图所示,已经有了‘%’的,那就说明可以远程访问了,就不用执行第二步了。

Centos7 安装 Mysql 8.0.32,详细完整教程(好文章!!)_第3张图片

2.继续执行:

update user set host = '%' where user = 'root';

Centos7 安装 Mysql 8.0.32,详细完整教程(好文章!!)_第4张图片

3.执行FLUSH PRIVILEGES 或者重启 MySQL 即可;

你可能感兴趣的:(mysql,mysql,8,安装,centos)