Centos7 安装 Mysql8教程

徐悦TechBlog 2020-08-15

Mysql8新特性:

Mysql从5.x版本直接跳跃到8.x,我个人是这么看的:

MySQL 5.5 -> MySQL 5
MySQL 5.6 -> MySQL 6
MySQL 5.7 -> MySQL 7
MySQL 8.0 -> MySQL 8

当然也有可能是Mysql6、7内部难产了-_-,自从被Oracle收购后,活力依旧在,mysql8有以下新特性:

  • MySQL 文档存储
  • 默认 utf8mb4 编码
  • JSON 增强
  • CTEs(译者注:Common Table Expresssions 公共表格表达式)
  • 窗口函数
  • 降序索引
  • 更好的优化器消费模型
  • MySQL 服务器组件
  • GIS(译者注:Geographic Information System 地理信息系统) 提升
  • InnoDB 引擎的 NO WAIT 和 SKIP \ LOCKED 选项

Centos7 Mysql8安装步骤:

1、设置mysql源

首先,您需要在MySQL提供的系统中启用MySQL yum存储库。 根据您的操作系统版本执行以下命令之一,这里我们选择CentOS 7 / RHEL 7的源

###在CentOS 7 / RHEL 7系统上### 
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

###在CentOS 7 / RHEL 6系统上### 
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el6-3.noarch.rpm

###在Fedora 30系统上### 
rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc30-1.noarch.rpm

###在Fedora 29系统上### 
rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc29-2.noarch.rpm

###在Fedora 28系统上### 
rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc28-2.noarch.rpm

2、安装MySQL Community Server

MySQL yum存储库包含用于多个MySQL版本的多个存储库配置。 因此,首先禁用mysql repo文件中的所有存储库

sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo

启用centos mysql8版本

## CentOS & RedHat 版本
yum --enablerepo=mysql80-community install mysql-community-server
## Fedora Systems 版本
dnf --enablerepo=mysql80-community install mysql-community-server

3、启动MySQL服务

service mysqld start

使用Systemd

systemctl start mysqld.service

4、查找MySQL root密码

安装MySQL 8.0后,将为MySQL根用户创建一个临时密码。 您可以在日志文件中找到生成的临时密码。密码文件位置:/var/log/mysqld.log

grep "A temporary password" /var/log/mysqld.log

5、重置root密码

首次安装MySQL后,执行mysql_secure_installation命令以保护MySQL服务器,包含重置密码步骤

mysql_secure_installation
Enter password for user root:

The existing password for the user account root has expired. Please set a new password.

New password:
Re-enter new password:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

6、mysql 服务加入开机启动项,并启动mysql进程

### Using Systemd
systemctl enable mysqld.service
systemctl restart mysqld.service

7、开放3306端口

如果服务器开启了防火墙,记得开启3306端口

systemctl enable iptables
systemctl start iptables
vim /etc/sysconfig/iptables
##规则中加入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
##重启防火墙
systemctl enable iptables.service
systemctl start iptables.service

如果使用的腾讯云的服务器,一定记得开启安全组里的端口

附mysql常用命令:

登录mysql

mysql -u username -p

启动mysql

systemctl start mysqld.service

结束mysql

systemctl stop mysqld.service

重启mysql

systemctl restart mysqld.service

开机自启

systemctl enable mysqld.service

相关推荐