Centos7怎么安装MySQL8

发布时间:2021-06-26 10:07:24 作者:chen
来源:亿速云 阅读:194
# CentOS7怎么安装MySQL8

## 前言

MySQL作为最流行的开源关系型数据库之一,被广泛应用于各种Web应用和服务中。MySQL 8.0版本带来了诸多性能改进和新特性,如窗口函数、JSON增强、更好的性能等。本文将详细介绍在CentOS 7系统上安装MySQL 8.0的完整步骤,包括准备工作、安装配置、安全设置和基本使用。

## 一、准备工作

### 1.1 系统要求

在开始安装前,请确保您的CentOS 7系统满足以下要求:
- 最小化安装的CentOS 7系统
- 至少2GB内存(生产环境建议4GB以上)
- 至少10GB可用磁盘空间
- root或具有sudo权限的用户

### 1.2 更新系统

首先更新系统软件包到最新版本:
```bash
sudo yum update -y
sudo reboot  # 如果有内核更新建议重启

1.3 禁用MariaDB

CentOS 7默认包含MariaDB,可能与MySQL冲突:

sudo yum remove mariadb* -y
sudo rm -f /etc/my.cnf

二、安装MySQL 8.0

2.1 添加MySQL Yum仓库

  1. 下载MySQL官方Yum仓库:
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
  1. 验证仓库是否添加成功:
sudo yum repolist enabled | grep "mysql.*-community.*"

2.2 安装MySQL服务器

  1. 安装MySQL 8.0社区版服务器:
sudo yum install -y mysql-community-server
  1. 验证安装版本:
mysql --version
# 应显示类似:mysql  Ver 8.0.xx for Linux on x86_64 (MySQL Community Server)

2.3 启动MySQL服务

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

三、初始配置

3.1 获取临时密码

MySQL首次启动会生成临时root密码:

sudo grep 'temporary password' /var/log/mysqld.log
# 输出示例:2023-01-01T00:00:00.000000Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Abc123!@#

3.2 运行安全脚本

sudo mysql_secure_installation

按照提示操作: 1. 输入临时密码 2. 设置新密码(需包含大小写字母、数字和特殊字符) 3. 移除匿名用户(Y) 4. 禁止root远程登录(Y) 5. 移除测试数据库(Y) 6. 重新加载权限表(Y)

3.3 验证安装

登录MySQL验证:

mysql -u root -p

执行基本SQL命令:

SHOW DATABASES;
SELECT VERSION();
EXIT;

四、高级配置

4.1 配置文件优化

编辑MySQL配置文件:

sudo vi /etc/my.cnf

添加以下基本优化参数(根据服务器配置调整):

[mysqld]
# 通用配置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# 内存配置
innodb_buffer_pool_size = 1G  # 建议为物理内存的50-70%
key_buffer_size = 256M

# 连接配置
max_connections = 200
wait_timeout = 300
interactive_timeout = 300

# 日志配置
slow_query_log = 1
slow_query_log_file = /var/log/mysqld-slow.log
long_query_time = 2
log_bin = mysql-bin
binlog_format = ROW

重启MySQL使配置生效:

sudo systemctl restart mysqld

4.2 创建新用户和数据库

-- 创建数据库
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 创建用户并授权
CREATE USER 'myuser'@'%' IDENTIFIED BY 'Complex_Password123!';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%';
FLUSH PRIVILEGES;

4.3 开启远程访问(可选)

  1. 修改MySQL配置:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
  1. 登录MySQL执行:
UPDATE mysql.user SET host='%' WHERE user='root';
FLUSH PRIVILEGES;

五、常见问题解决

5.1 忘记root密码

  1. 停止MySQL服务:
sudo systemctl stop mysqld
  1. 启动MySQL跳过权限检查:
sudo mysqld_safe --skip-grant-tables &
  1. 无密码登录并修改密码:
UPDATE mysql.user SET authentication_string='' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;
  1. 重启MySQL并设置新密码:
sudo systemctl restart mysqld
mysql -u root -p  # 此时无密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'New_Password123!';

5.2 性能问题排查

查看运行状态:

# 查看MySQL进程
top -c | grep mysql

# 查看连接数
mysqladmin -u root -p status

# 查看慢查询
mysqldumpslow -s t /var/log/mysqld-slow.log

5.3 字符集问题

确保使用utf8mb4字符集:

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

六、维护与备份

6.1 定期备份

使用mysqldump进行备份:

mysqldump -u root -p --all-databases > all-databases-$(date +%F).sql

6.2 自动备份脚本

创建备份脚本/usr/local/bin/mysql_backup.sh

#!/bin/bash
BACKUP_DIR="/var/backups/mysql"
DATE=$(date +%F)
USER="root"
PASS="Your_Password"

mkdir -p $BACKUP_DIR/$DATE
mysqldump -u$USER -p$PASS --all-databases | gzip > $BACKUP_DIR/$DATE/all-databases.sql.gz
find $BACKUP_DIR -type d -mtime +30 | xargs rm -rf

设置定时任务:

sudo chmod +x /usr/local/bin/mysql_backup.sh
sudo crontab -e
# 添加:0 2 * * * /usr/local/bin/mysql_backup.sh

七、升级与卸载

7.1 升级MySQL

sudo yum clean all
sudo yum update mysql-community-server
sudo systemctl restart mysqld

7.2 完全卸载MySQL

sudo systemctl stop mysqld
sudo yum remove mysql-community-*
sudo rm -rf /var/lib/mysql
sudo rm -rf /var/log/mysqld.log
sudo rm -rf /etc/my.cnf

结语

本文详细介绍了在CentOS 7系统上安装配置MySQL 8.0的全过程。通过正确的安装和优化配置,MySQL 8.0能够为您的应用程序提供稳定高效的数据库服务。建议定期检查MySQL日志和性能指标,根据实际负载情况调整配置参数。

对于生产环境,还应考虑: - 设置主从复制提高可用性 - 配置定期自动备份 - 实施监控告警系统 - 定期进行安全审计

希望本指南能帮助您顺利完成MySQL 8.0的安装和配置工作。 “`

这篇文章共计约2200字,采用Markdown格式编写,包含了从准备工作到高级配置的完整流程,并提供了常见问题解决方案和维护建议。您可以根据实际需求进一步调整内容细节。

推荐阅读:
  1. Mysql8主从复制安装方法
  2. mysql8安装记录

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos mysql

上一篇:Centos7怎么安装MongoDB

下一篇:zk服务器异常报警和线程服务关闭机制

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》