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. 重新加载权限表

相关推荐
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.12 分钟前
基于MySQL一主一从环境添加多个新从库
android·mysql·adb
二宝哥1 小时前
Failed connect to mirrorlist.centos.org:80; Connection refused
linux·运维·centos
阿丰资源2 小时前
java项目(附资料)-基于SpringBoot+MyBatisPlus+MySQL+Layui的药品管理系统
java·spring boot·mysql
我科绝伦(Huanhuan Zhou)2 小时前
分享一个MySQL自动化部署平台
mysql·adb·自动化
一叶飘零_sweeeet2 小时前
击穿 MySQL 性能天花板:InnoDB Buffer Pool 核心架构、LRU 优化与生产调优全解
数据库·mysql
一叶飘零_sweeeet2 小时前
MySQL InnoDB 锁机制全解:行锁 / 表锁 / 间隙锁 / 临键锁底层逻辑与死锁避坑指南
数据库·mysql
D4c-lovetrain2 小时前
linux个人心得23 (mysql②)
数据库·mysql
Chasing Aurora3 小时前
整理常用的开发工具使用问题和小贴士(二)——软件和浏览器
redis·python·mysql·maven
仲芒4 小时前
[24年单独笔记] MySQL 引擎架构
笔记·mysql·架构
ChatInfo4 小时前
Etsy 把 1000 个 MySQL 分片迁进 Vitess:425TB 数据背后的真正问题不是性能,而是运维规模
数据库·人工智能·mysql