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)。
下载地址#
本次我们用社区版,下载地址:
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 协议》,转载必须注明作者和本文链接
推荐文章: