Linux系统rpm安装MySQL详细操作步骤
安装方式介绍
在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软件对数据库做相关操作了~