前言
本文使用的操作系统:
名称 | 描述 | |
---|---|---|
Oracle VM VirtualBox | 虚拟机软件 | |
CentOS-7-x86_64-Minimal-2009.iso | CentOS 7.9 最小化安装镜像文件 |
最开始学习 mysql 的时候,是在 windows 系统中,使用 mysql 压缩包,将 mysql 安装为系统服务
但在 linux 系统中,你可能不是很明确安装流程,本文记录其中一种方式,使用 yum 源安装 mysql,适用于 centos 系统
安装 mysql
1. 卸载系统自带 mariadb
查看并卸载系统自带的 MariaDB 数据库
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
2. 下载 mysql 官网 yum 源
由于 centos 的 yum 源中没有 mysql,需要到 mysql 官网下载 yum repo 配置文件
# wget 未安装时执行,已安装跳过即可
yum install wget -y
# 下载 mysql 的 yum 源配置
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
3. 安装 mysql 官方的 yum 源
运行以下命令
yum -y install mysql57-community-release-el7-11.noarch.rpm
[root@localhost ~]# yum -y install mysql57-community-release-el7-11.noarch.rpm
已加载插件:fastestmirror
正在检查 mysql57-community-release-el7-11.noarch.rpm: mysql57-community-release-el7-11.noarch
mysql57-community-release-el7-11.noarch.rpm 将被安装
....
....
已安装:
mysql57-community-release.noarch 0:el7-11
完毕!
命令执行完成后会在 /etc/yum.repos.d
目录下生成两个 repo 文件,如下图所示
4. 使用 yum 的方式安装 mysql
运行以下命令安装
yum install mysql-server -y
安装过程中如果出现以下错误,运行下面的命令可以解决
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
[root@localhost ~]# yum -y install mysql-server
...
...
mysql-community-server-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装
失败的软件包是:mysql-community-server-5.7.44-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
使用 mysql
a. 启动 mysql
# 启动 mysql 服务
systemctl start mysqld
# 查看 mysql 服务状态
systemctl status mysqld
b. 获取临时密码
运行以下命令可以查看临时密码,如下图所示,临时密码为:u)dJt5Wehpmi
cat /var/log/mysqld.log | grep password
c. 修改登录密码
使用刚才的临时密码登录 mysql
mysql -uroot -p
使用以下命令修改密码,Liang1016@
是我设置的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Liang1016@';
当密码过于简单时,可能会遇到下面的错误提示,这是 mysql 的密码安全策略
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Liang1016@';
Query OK, 0 rows affected (0.00 sec)
如果要设置简单的密码,先运行以下命令,就可以使用长度大于等于6的简单密码了
set global validate_password_policy = 0;
set global validate_password_length = 6;
d. 设置远程访问
开启 mysql 的远程访问权限
-- 赋予 root 用户外部访问权限,123456 是 root 用户的密码
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
-- 刷新权限
flush privileges;
开放防火墙端口 3306,此时同一局域网下的电脑就可以通过局域网 IP 连接我的 mysql 了
# 查看防火墙状态
firewall-cmd --state
# 开放 3306 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 立即生效
firewall-cmd --reload