安装方式介绍
在Linux 系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:
安装方式
特点
二进制发布包安装
软件已经针对具体平台编译打包发布,只要解压,修改配置即可
rpm安装
软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装(不能自行解决库依赖问题)
yum安装
一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题(安装过程需要联网)
源码编译安装
软件以源码工程的形式发布,需要自己编译打包
本次采用rpm安装 方式进行MySQL的安装
RPM:全称为 Red-Hat Package Manager ,RPM软件包管理器,是红帽Linux 用于管理和安装软件的工具。
准备工作
版本说明
系统版本如下:

MySQL版本如下:

上传安装包
把Mysql的rpm安装包上传到系统**/root**目录下

检测并卸载原有数据库
在安装MySQL数据库 之前,我们需要把原有的MySQL数据库 或者MariaDB数据库 删除掉,否则新的数据库安装可能会出现问题(出现冲突)。
使用rpm -qa 相关指令可以查询出当前系统中已安装的软件包
rpm -qa 查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件
经查询发现系统已安装了MariaDB数据库

使用命令将已安装的MariaDB数据库删除,
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
再次使用rpm -qa | grep mariadb 命令已经无法查询到MariaDB数据库了

解压安装包
首先创建一个**/usr/local/mysql目录作为MySQL**的安装目录

使用命令将mysql安装包解压到**/usr/local/mysql**目录
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

进入**/usr/local/mysql目录下,查看一共有 6个MySQL**的安装包

安装rpm包
rpm -ivh 包名
?i?:表示安装(install)
?v?:表示详细信息(verbose)
?h?:表示显示进度条(hash)
使用如下命令将6 个MySQL包逐个安装
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum -y install net-tools
yum -y install numactl
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm



依赖检测失败报错处理
在安装最后一个rpm 包mysql-community-server-5.7.25-1.el7.x86_64.rpm 的时候出现图下所示报错 :依赖检测失败

这时可以在安装命令后面加上**--force --nodeps**,再次进行安装
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm --force --nodeps
--force:强制安装
--nodeps:安装时不检查依赖关系

启用MySQL服务
MySQL 安装完成之后,会自动注册 为系统的服务,服务名为mysqld 。现在用systemctl status mysqld 命令查看到服务还未启动

用systemctl start mysqld 命令使服务启动 ,再次查看服务已经处于running状态

使用systemctl enable mysqld 命令让服务可以开机自启

使用netstat -alptu | grep mysql 命令和ps -ef | grep mysql 命令查看当前mysql运行情况
netstat -alptu | grep mysql 查看当前包含mysql的网络连接
ps -ef | grep mysql 查看当前包含mysql的进程


登录MySQL
查阅临时密码
安装好MySQL 之后,MySQL 第一次启动时,会自动生成root 用户访问密码,并且输出在MySQL 的日志文件 /var/log/mysqld.log 中。使用cat /var/log/mysqld.log | grep password 命令来查阅密码
cat /var/log/mysqld.log | grep password

登录
获取MySQL临时密码 后,使用命令mysql -uroot -p ,然后输入密码 ,登录MySQL

配置MySQL
设置密码及密码策略
进入MySQL 之后,输入如下命令(生产用的话建议密码设置复杂一点,本次演示密码用1234便于记忆)
set global validate_password_length=4; 设置密码长度最少位数为4
set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成1234
set password = password('1234'); 设置密码为1234

设置允许root用户远程登录
use mysql; #进入mysql库
select host,user from user; #查看用户权限表
update user set host = '%' where user = 'root'; #设置允许root用户远程登录(% 代表所有)
FLUSH PRIVILEGES; # 刷新数据库配置

至此,MySQL 的安装 和配置 均已完毕。用exit 命令退出数据库即可。

远程测试连接数据库
在其他电脑,打开DBeaver 软件,如图下所示,点击图标新建数据库连接

选择MySQL ,然后下一步

输入服务器地址 和root密码 ,点击测试连接 ,出现图下所示提示连接超时的报错

用命令行ping 服务器的地址是通的

出现上述情况的原因可能是未开放 服务器的3306端口导致,尝试开启试试
服务器开放3306端口
使用以下命令开放3306端口
firewall-cmd --permanent --add-port=3306/tcp 开放3306端口
firewall-cmd --reload 重新加载防火墙以应用更改
firewall-cmd --permanent --remove-port=3306/tcp 关闭3306端口
firewall-cmd --reload 重新加载防火墙以应用更改

开放3306 端口后,发现DBeaver 软件可以连接到MySQL数据库了~

接下来就可以用DBeaver软件对数据库做相关操作了~
