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
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!