引言

MySQL是一种开放源代码的关系型数据库管理系(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理,于1998年一月发行第一个版本。而MySQL数据库是作为程序员来说必备的一个组件,但是安装相对来说又是非常繁琐的,所以本文就给大家整理下MySQL的三种安装方法:

  • 二进制安装
  • 源码编译安装
  • RPM包安装

今天文章中主要介绍的是centos7中MySQL的RPM包安装

检查安装环境

检查系统自带mariadb
rpm -qa | grep -i mariadb
卸载自带的mariadb
rpm -evh mariadb-libs-5.5.60-1.el7-5.x86_64
查看mariadb依赖
yum list | grep -i mariadb
卸载依赖
yum remove -y mariadb-*

下载压缩包

在官网下载tar包MySQL 官网

如何mysql源码包做成rpm_运维

如何mysql源码包做成rpm_运维_02

如何mysql源码包做成rpm_如何mysql源码包做成rpm_03

如何mysql源码包做成rpm_数据库_04

如何mysql源码包做成rpm_运维_05

这里下载压缩包的方法有俩种:

  • 在windows中下载后上传到linux中
  • 直接用wget命令在linux中下载

我们这里选择wget下载tar包:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar

若是下载很慢的话可以去看看这篇文章更换yum源配置YUM源

也可以去百度网盘提取tar包链接:https://pan.baidu.com/s/1ewuRkAvkQ2VrQ2gEohBaYg?pwd=ig2p 提取码:ig2p

解压tar包

tar -xvf mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar

解压后的rpm包

mysql-community-client-5.7.43-1.el7.x86_64.rpm
mysql-community-common-5.7.43-1.el7.x86_64.rpm
mysql-community-devel-5.7.43-1.el7.x86_64.rpm
mysql-community-embedded-5.7.43-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.43-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.43-1.el7.x86_64.rpm
mysql-community-libs-5.7.43-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.43-1.el7.x86_64.rpm
mysql-community-server-5.7.43-1.el7.x86_64.rpm
mysql-community-test-5.7.43-1.el7.x86_64.rpm

RPM安装

选择需要的rpm包按下面顺序进行安装

注意事项:这里安装rpm包的时候可能会缺少某些依赖,若是报错的话可以查看报错信息安装缺少的依赖即可,尤其是安装MySQL.8.0 以上版本的时候

rpm -ivh mysql-community-common-5.7.43-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.43-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.43-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.43-1.el7.x86_64.rpm

MySQL配置

启动mysql
systemctl start mysqld
查看mysql状态
systemctl status mysqld
查看端口3306
netstat -nltp

如何mysql源码包做成rpm_运维_06

如何mysql源码包做成rpm_linux_07

上述可以成功查看的到就证明MySQL启动成功,若是启动失败清理/var/lib/mysql/下的数据在启动

rm -rf /var/lib/msyql/*

登录MySQL

在日志中查看密码

tail /var/log/mysqld.log | grep password

如何mysql源码包做成rpm_如何mysql源码包做成rpm_08

复制密码登录

注意事项:这里的密码可能需要上一个反引号,因为有些特殊字符需要转义,例如 !

mysql -uroot -p'k.<COpgI?6l7'

如何mysql源码包做成rpm_mysql_09

看到下面页面证明登录成功,若是登录失败就是密码错误,就先停止MySQL,然后再重新清理/var/lib/mysql/下的数据后在启动,最后在日志中查看密码登录

systemctl stop mysqld
systemctl start mysqld
rm -rf /var/lib/mysql/*
tail /var/log/mysqld.log | grep password

修改MySQL密码

方法一

登录数据库后利用pasword函数修改密码

注意事项:在MySQL8.0版本以后password函数已经不支持了,要修改密码的话可以按下面的方法二进行修改

set password=password('123@qaz');
单引号中的是修改后的密码,密码要复杂一点

方法二

直接在命令行中修改

\q退出数据库
mysqladmin -uroot -p'123@qaz' password '123@qaz!'

方法三

登录数据库后修改mysql库中user表中的密码,这里就不作过多介绍了

修改密码复杂度

下面这个只是临时的修改,当数据库重启之后,就会恢复,需要永久生效则需要配置/etc/my.cnf文件

#查看密码复杂度策略
show variables like 'validate_password%';
#设置密码验证的强度等级
set global validate_password.policy=LOW;
#设置密码的长度
set global validate_password.length=4;

如何mysql源码包做成rpm_运维_10

总结

  • 安装数据库需要的四个rpm包
  • 安装mysql之前清理mariadb的依赖
  • 若是启动和密码登录的时候失败就清理/var/lib/mysql/下的数据重新尝试