MySQL 5.7 for CentOS
MySQL 是一个广泛使用的关系数据库管理系统,由 Oracle 公司维护,它支持各种操作系统,包括 Linux、Windows 和 macOS,本文将详细介绍如何在 CentOS 系统上安装 MySQL 5.7,并涵盖相关的配置和常见问题解答。
MySQL简介
MySQL 是一个典型的关系数据库,目前是 Oracle 公司产品之一,也是当前主流使用的关系型数据库之一,使用 MySQL 可以进行最基本的数据存储、管理、查询等操作,也可以方便地组建数据库集群,配置读写分离,MySQL 数据库同样使用 SQL(结构化查询语言)进行操作,MySQL 数据库自身也有很多可以直接使用的内置函数,在部分操作的语法上和其他数据库会存在区别。
版本选择
1、社区版:在学习阶段,可以使用免费的社区版,这也是中小型企业会选择的一个版本,可以在官方网站直接进行下载,在社区版中,除了提供数据库服务端以外,同样提供了社区版相关组件,如官方的可视化工具、MySQL 集群、各开发语言数据库驱动等,可以根据需要直接下载。
2、企业版:MySQL 企业版提供了商用的解决方案,相关的产品除了数据库服务外,还包括 MySQL 云服务、企业级数据备份、企业级防火墙、企业级数据加密等。
3、版本对比:目前 MySQL 官网提供了三个大版本的支持,分别是 5.6.x、5.7.x 和 8.0.x,从官网透露的信息来看,8.0 版本相较于 5.7 版本在性能方面做出了较大的改进和优化:2x Faster than MySQL 5.7!在 8.0 的 MySQL 数据库中,对某些常用语法的细节部分也做了调整,如果准备进行升级,一定要注意兼容性的问题。
安装步骤
1、更新 yum:在使用 yum 安装 MySQL 前,先更新 yum,命令如下:
```bash
sudo yum update y
```
2、添加 MySQL 的 yum 仓库源:Mysql 仓库源地址为 HTTPS://dev.mysql.com/downloads/repo/yum/,对应的命令操作为:
```bash
sudo yum install y wget
wget https://dev.mysql.com/get/mysql57communityreleaseel710.noarch.rpm
sudo rpm Uvh mysql57communityreleaseel710.noarch.rpm
```
3、查看所有的 MySQL 版本:通过以下命令查看所有可用的版本:
```bash
yum repolist all | grep mysql
```
4、启用指定版本的 MySQL:禁用 mysql80,启用 mysql57,命令如下:
```bash
sudo yumconfigmanager disable mysql80community
sudo yumconfigmanager enable mysql57community
```
5、安装 MySQL:在设置好版本之后,执行安装命令:
```bash
sudo yum install y mysqlcommunityserver
```
6、启动 MySQL 服务:安装完成后,启动 MySQL 服务并检查其状态:
```bash
sudo systemctl start mysqld
sudo systemctl status mysqld
```
7、初始化设置:首次登录时需要修改临时密码,首先查看生成的初始密码:
```bash
sudo grep 'temporary password' /var/log/mysqld.log
```
8、登录并修改密码:使用初始密码登录 MySQL,然后修改密码,注意新密码必须包含大写字母、小写字母、数字、标点符号,且长度至少为8位:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
```
9、设置开机启动:确保 MySQL 服务在系统重启后自动启动:
```bash
sudo systemctl enable mysqld
```
10、设置远程连接:允许其他机器连接到此 MySQL 服务器,首先登录到 MySQL,然后执行以下命令:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourNewPassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
11、配置防火墙规则:开放 3306 端口以允许外部连接:
```bash
sudo firewallcmd zone=public addport=3306/tcp permanent
sudo firewallcmd reload
```
12、配置文件:MySQL 的配置文件目录为/etc/my.cnf
,根据需要进行自定义配置,例如设置字符集为 UTF8:
```ini
[client]
defaultcharacterset=utf8
[mysqld]
charactersetserver=utf8
collationserver=utf8_general_ci
```
13、重启 MySQL:保存配置文件后,重启 MySQL 服务以使更改生效:
```bash
sudo systemctl restart mysqld
```
14、测试连接:使用 Navicat 或其他数据库连接工具,输入服务器 IP、端口(默认3306)、用户名和密码进行连接测试。
FAQs
1、如何卸载 MySQL?
答案:要卸载 MySQL,首先停止 MySQL 服务,然后使用 yum 命令卸载相关包,具体步骤如下:
1. 停止 MySQL 服务:
```bash
sudo systemctl stop mysqld
```
2. 使用 yum 命令卸载 MySQL:
```bash
sudo yum remove y mysqlcommunityserver mysqlcommunitycommon mysqlcommunitylibs
```
3. 如果不再需要 MySQL Yum 仓库,可以将其删除:
```bash
sudo rm rf /etc/yum.repos.d/mysqlcommunity.repo
```
2、如何重置 MySQL 的 root 密码?
答案:如果忘记了 MySQL 的 root 密码,可以通过以下步骤进行重置:
1. 停止 MySQL 服务:
```bash
sudo systemctl stop mysqld
```
2. 以安全模式启动 MySQL,跳过授权表:
```bash
sudo mysqld_safe skipgranttables &
```
3. 登录到 MySQL,不需要密码:
```bash
mysql u root
```
4. 重置密码:
```sql
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
5. 重新启动 MySQL:
```bash
sudo systemctl start mysqld
```