CenterOS 安装最新 MySQL8.2 及配置

   本文将介绍如何在 CenterOS7 上安装最新版本 MySQL 8.2.0 以及远程连接配置。

一、. 准备环境#

1)服务器系统环境:CentOS 7#

2)SSH 连接工具: Xshell#

3)防火墙设置:#

启动服务名称:

CenterOs 6:iptables;
CenterOs 7 是 firewalld

启动服务命令:

CenterOs 6:是 service;
CenterOs 7 是 systemctl

查看是否安装过 MySQL#

如果你是用 rpm 安装,检查一下 RPM PACKAGE:#

rpm -qa | grep -i mysql # -i 忽略大小写

检查 mysql service:#

systemctl status mysqld.service

如果存在 mysql-libs 的旧版本包,显示如下:#

如果不存在 mysql-lib 的版本,显示如下:#

MySQL 的卸载#

1. 关闭 mysql 服务#

systemctl stop mysqld.service

2. 查看当前 mysql 安装状况#

rpm -qa | grep -i mysql
# 或
yum list installed | grep mysql

3. 卸载上述命令查询出的已安装程序#

yum remove mysql-xxx mysql-xxx mysql-xxx mysqk-xxxx

务必卸载干净,反复执行 rpm -qa | grep -i mysql 确认是否有卸载残留

4. 删除 mysql 相关文件#

查找相关文件:

find / -name mysql


删除上述命令查找出的相关文件

rm -rf xxx

5. 删除 my.cnf.d

rm -rf /etc/my.cnf.d

二、 MySQL 的 CenterOS 安装#

MySQL 的 4 大版本:

     MySQL Community Server 社区版本,开源免费,自由下载,但不提供官方技术支持,适用于
大多数普通用户。

     MySQL Enterprise Edition 企业版本,需付费,不能在线下载,可以试用 30 天。提供了更多的
功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。

     MySQL Cluster 集群版,开源免费。用于架设集群服务器,可将几个 MySQL Server 封装成一个
Server。需要在社区版或企业版的基础上使用。

     MySQL Cluster CGE 高级集群版,需付费。

此外,官方还提供了 MySQL Workbench (GUITOOL)一款专为 MySQL 设计的 ER / 数据库建模工具 。它是
著名的数据库设计工具 DBDesigner4 的继任者。MySQLWorkbench 又分为两个版本,分别是 社区版
(MySQL Workbench OSS)、 商用版 (MySQL WorkbenchSE)。

下载地址#

官网:www.mysql.com

本次我们用社区版,下载地址:
dev.mysql.com/downloads/mysql/

我的服务器版本是7:

这里不能直接选择 CentOS 7 系统的版本,所以选择与之对应的 Red Hat Enterprise Linux。
downloads.mysql.com/archives/commu... 直接点 Download 下载 RPM Bundle 全量
包。包括了所有下面的组件。不需要一个一个下载了。

Linux 系统下安装软件的常用三种方式:#

方式 1:rpm 命令#

使用rpm命令安装扩展名为".rpm"的软件包。

.rpm 包格式说明:

方式 2:yum 命令#

需联网,从 互联网获取 的 yum 源,直接使用 yum 命令安装。

方式 3:编译安装源码包#

针对 tar.gz 这样的压缩格式,要用 tar 命令来解压;如果是其它压缩格式,就使用其它命令。

Linux 系统下安装 MySQL,官方给出多种安装方式#

安装#


解压后如下:


下列文件需要上传到服务器:


cd /Software

rz 

unzip mysql-8.2.0-install.zip  
cd mysql-8.2.0-install

安装 openssl-devel 和再次删除与 MySQL 相关

 yum install openssl-devel
 yum remove mariadb-connector-c-config
 yum remove mysql-libs

CentOS7 下检查 MySQL 依赖#

检查 /tmp 临时目录权限(必不可少)#

由于 mysql 安装过程中,会通过 mysql 用户在 /tmp 目录下新建 tmp_db 文件,所以请给 /tmp 较大的权限。执
行 :

chmod -R 777 /tmp

安装前,检查依赖#

rpm -qa|grep libaio

如果存在 libaio 包如下:

rpm -qa|grep net-tools

如果存在 net-tools 包如下:


如果不存在需要到 centos 安装盘里进行 rpm 安装。安装 linux 如果带图形化界面,这些都是安装好的。

CentOS7 下 MySQL 安装过程#

yum install openssl-devel
1、在mysql的安装文件目录下执行:(必须按照顺序执行)

rpm -ivh mysql-community-common-8.2.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.2.0-1.el7.x86_64.rpm
rpm -ivh  mysql-community-libs-8.2.0-1.el7.x86_64.rpm
rpm -ivh  mysql-community-client-8.2.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.2.0-1.el7.x86_64.rpm
rpm -ivh  mysql-community-server-8.2.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.2.0-1.el7.x86_64.rpm
rpm -ivh  mysql-community-devel-8.2.0-1.el7.x86_64.rpm

注意:如在检查工作时,没有检查 mysql 依赖环境在安装 mysql-community-server 会报错。

rpm 是 Redhat Package Manage 缩写,通过 RPM 的管理,用户可以把源代码包装成以 rpm 为扩展名的文件形式,易于安装。

-i , –install 安装软件包。

-v , –verbose 提供更多的详细信息输出。

-h , –hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好),展示进度条。

2、查看MySQL版本及检查是否安装
执行如下命令,如果成功表示安装 mysql 成功。类似 java -version 如果打出版本等信息

(1)查看版本

mysql --version
#或
mysqladmin --version

或登录 MySQL 后执行:

select version();

(2)查看是否安装

执行如下命令,查看是否安装成功。需要增加 -i 不用去区分大小写,否则搜索不到。

rpm -qa|grep -i mysql

3、服务的初始化
为了保证数据库目录与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执
行下面的命令初始化:

mysqld --initialize --user=mysql

说明: –initialize 选项默认以 “安全” 模式来初始化,则会为 root 用户生成一个密码并将 该密码标记为过
期 ,登录后你需要设置一个新的密码。生成的 临时密码 会往日志中记录一份。
查看密码:

cat /var/log/mysqld.log


root@localhost: 后面就是初始化的密码

4、启动MySQL,查看状态

#加不加.service后缀都可以
启动:systemctl start mysqld.service
关闭:systemctl stop mysqld.service
重启:systemctl restart mysqld.service
查看状态:systemctl status mysqld.service

mysqld 这个可执行文件就代表着 MySQL 服务器程序,运行这个可执行文件就可以直接启动一个
服务器进程。

查看进程:

ps -ef | grep -i mysql

5、查看MySQL服务是否自启动

 systemctl list-unit-files|grep mysqld.service


默认是 enabled。
如不是 enabled 可以运行如下命令设置自启动

systemctl enable mysqld.service

如果希望不进行自启动,运行如下命令设置

systemctl disable mysqld.service

三、安装后配置 MySQL#

1、首次登录#

通过 mysql -hlocalhost -P3306 -uroot -p 进行登录,在 Enter password:录入初始化密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

注意:生产环境千万不要修改成这么简单的密码。

2、设置远程登录#

(1)关闭防火墙或开放端口#

方式一:关闭防火墙

 CentOS6 :  
 service iptables stop

 CentOS7:
 systemctl start firewalld.service
 systemctl status firewalld.service
 systemctl stop firewalld.service

#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机禁用防火墙
systemctl disable firewalld.service

方式二:开放端口

查看开放的端口号

firewall-cmd --list-all

设置开放的端口号

firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=3306/tcp --permanent

重启防火墙

firewall-cmd --reload

(2)Linux 下修改配置#

在 Linux 系统 MySQL 下测试:

use mysql;
select Host,User from user;


可以看到 root 用户的当前主机配置信息为 localhost。

修改Host为通配符%

Host 列指定了允许用户登录所使用的 IP,比如 user=root Host=192.168.1.1。这里的意思就是说 root 用户只
能通过 192.168.1.1 的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而 %
是个 通配符 ,如果 Host=192.168.1.%,那么就表示只要是 IP 地址前缀为 “192.168.1.” 的客户端都可以连
接。如果 Host=% ,表示所有 IP 都有连接权限。

注意:在生产环境下不能为了省事将 host 设置为 %,这样做会存在安全问题,具体的设置可以根据生产
环境的 IP 进行设置。

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

Host 设置了 “%” 后便可以允许远程访问。


Host 修改完成后记得执行 flush privileges 使配置立即生效:

flush privileges;

(3)打开 MySQL Workbench(开源免费,自带数据建模) 测试远程连接#

登录进去界面:

建库测试:

CREATE DATABASE test;
show databases;

use test;

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT
);

show tables;

  至此,CenterOS 安装 MySQL8.2 安装以及基础配置已全部讲解完

本作品采用《CC 协议》,转载必须注明作者和本文链接
ThinkQ
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。