CentOS 7 安装 MySQL 详细教程

CentOS 7 安装 MySQL 详细教程

本文将详细介绍如何在 CentOS 7 系统上安装 MySQL 数据库,并提供基本配置指南。

前言

MySQL 是最流行的开源关系型数据库管理系统之一,广泛应用于各种规模的应用程序中。在 CentOS 7 上安装 MySQL 有多种方法,本文将介绍最常用的安装方式。

使用 Yum 仓库安装 MySQL

步骤 1:添加 MySQL Yum 仓库

首先,我们需要添加 MySQL 的官方 Yum 仓库:

bash

复制代码
# 下载 MySQL Yum 仓库安装包
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装 MySQL Yum 仓库
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm

步骤 2:选择 MySQL 版本(可选)

默认情况下,MySQL Yum 仓库启用的是 MySQL 8.0 版本。如果你想安装其他版本(如 MySQL 5.7),可以运行以下命令:

bash

复制代码
# 查看可用的 MySQL 版本
yum repolist all | grep mysql

# 禁用 MySQL 8.0 仓库
sudo yum-config-manager --disable mysql80-community

# 启用 MySQL 5.7 仓库
sudo yum-config-manager --enable mysql57-community

步骤 3:安装 MySQL 服务器

bash

复制代码
# 安装 MySQL 服务器
sudo yum install mysql-community-server

步骤 4:启动 MySQL 服务

bash

复制代码
# 启动 MySQL 服务
sudo systemctl start mysqld

# 设置 MySQL 开机自启
sudo systemctl enable mysqld

# 检查 MySQL 服务状态
sudo systemctl status mysqld

步骤 5:获取临时密码并修改

MySQL 安装后会生成一个临时密码,我们需要找到这个密码并修改它:

bash

复制代码
# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

输出结果类似于:

text

复制代码
2023-01-01T00:00:00.000000Z 1 [Note] A temporary password is generated for root@localhost: 临时密码

使用获取到的临时密码登录 MySQL:

bash

复制代码
mysql -uroot -p

输入临时密码后,你会进入 MySQL 提示符。现在修改 root 密码:

sql

复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

注意:MySQL 8.0 默认要求强密码策略,密码需要包含大小写字母、数字和特殊字符。

步骤 6:运行安全安装脚本(推荐)

MySQL 提供了一个安全安装脚本,可以帮助你提高数据库的安全性:

bash

复制代码
sudo mysql_secure_installation

按照提示完成以下安全设置:

  1. 验证密码强度插件

  2. 更改 root 密码

  3. 移除匿名用户

  4. 禁止 root 远程登录

  5. 移除测试数据库

  6. 重新加载权限表

相关推荐
野熊佩骑17 分钟前
一文读懂Redis之数据持久化
linux·运维·数据库·redis·缓存·中间件·centos
理智的煎蛋2 小时前
基于 Celery 的分布式文件监控系统
redis·分布式·python·mysql·mongodb
Albert Edison5 小时前
【MySQL】表的操作
数据库·mysql·oracle
欢喜躲在眉梢里5 小时前
mysql中的日志
android·运维·数据库·mysql·adb·日志·mysql日志
合作小小程序员小小店5 小时前
web开发,在线%校园,论坛,社交管理%系统,基于html,css,python,django,mysql
数据库·后端·mysql·django·web app
-L78 小时前
【MySQL数据库管理问答题】第14章 使用 MySQL InnoDB 集群实现高可用性
数据库·mysql
Liu1bo9 小时前
【MySQL】MySQL环境搭建
数据库·mysql
苏小瀚10 小时前
[MySQL] 初识数据库
数据库·mysql
lagelangri66611 小时前
MySql的存储过程以及JDBC实战
android·数据库·mysql
程序视点19 小时前
MySQL COUNT(*)性能对比:MyISAM为何比InnoDB快?全面解析与优化方案
mysql