特别是对于运行在CentOS操作系统上的服务器环境,MySQL8不仅带来了诸多性能优化和新特性,还增强了安全性和易用性
本文将详细介绍如何在CentOS7/8系统上安装和配置MySQL8,确保每一步都清晰明了,让您轻松掌握
一、准备工作 在开始安装之前,确保您的CentOS系统已经更新到最新版本,并且具备root权限或者能够通过sudo执行管理命令
此外,考虑到MySQL的版本迭代,本文基于MySQL8的官方Yum存储库进行操作,这是获取最新、最稳定版本的推荐方式
1.更新系统: 打开终端,执行以下命令来更新您的CentOS系统
bash sudo yum update -y 2.添加MySQL Yum存储库: MySQL官方提供了一个Yum存储库,便于我们安装和管理MySQL软件
首先,下载MySQL Yum存储库的RPM包
bash sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm CentOS7用户 sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm CentOS8用户 注意:根据您的CentOS版本选择合适的URL
3.验证存储库添加成功: 通过列出所有可用的MySQL存储库包来验证是否添加成功
bash yum repolist enabled | grep mysql.-community. 这将显示已启用的MySQL存储库列表,确保`mysql80-community`存储库是启用的
二、安装MySQL8 1.安装MySQL服务器: 使用Yum命令安装MySQL服务器软件包
bash sudo yum install -y mysql-community-server 2.启动MySQL服务: 安装完成后,启动MySQL服务,并设置其开机自启动
bash sudo systemctl start mysqld sudo systemctl enable mysqld 3.获取临时root密码: MySQL8在安装过程中会自动生成一个临时root密码,存储在`/var/log/mysqld.log`文件中
使用以下命令查找并记录该密码
bash sudo grep temporary password /var/log/mysqld.log 请务必记录下这个密码,因为后续登录MySQL时需要用到
三、安全配置MySQL 首次登录MySQL后,强烈建议运行安全脚本来配置MySQL的基本安全设置
1.登录MySQL: 使用临时root密码登录MySQL
bash mysql -u root -p 系统会提示您输入密码,输入刚才记录的临时密码
2.运行安全配置脚本: 登录后,执行`mysql_secure_installation`脚本
该脚本将引导您完成一系列安全配置,包括: -更改root密码 - 删除匿名用户 -禁止root远程登录 - 删除测试数据库 - 重新加载权限表 sql ALTER USER root@localhost IDENTIFIED BY NewStrongPassword!; 注意:将`NewStrongPassword!`替换为您选择的新密码,并确保它符合MySQL的密码策略要求
四、配置MySQL 根据您的实际需求,可能还需要对MySQL进行一些额外配置
1.配置字符集和排序规则: 编辑MySQL配置文件`/etc/my.cnf`(或`/etc/mysql/my.cnf`,取决于您的安装路径),添加或修改以下内容以设置默认字符集为UTF-8
ini 【mysqld】 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci 【client】 default-character-set=utf8mb4 【mysql】 default-character-set=utf8mb4 2.调整性能参数: 根据服务器的硬件资源和预期的负载情况,调整MySQL的性能参数,如`innodb_buffer_pool_size`、`max_connections`等
这些调整需要一定的数据库管理经验,建议参考MySQL官方文档或专业指南
3.重启MySQL服务: 每次修改配置文件后,都需要重启MySQL服务以使更改生效
bash sudo systemctl restart mysqld 五、用户与权限管理 为了安全高效地管理数据库,创建和管理用户及权限是必不可少的步骤
1.创建新用户: 使用`CREATE USER`语句创建新用户,并为其分配密码
sql CREATE USER newuser@localhost IDENTIFIED BY userpassword; 2.授予权限: 使用`GRANT`语句为新用户授予特定的数据库访问权限
sql GRANT ALL PRIVILEGES ON database_name. TO newuser@localhost; FLUSH PRIVILEGES; 3.查看权限: 使用`SHOW GRANTS`语句查看用户的当前权限
sql SHOW GRANTS FOR newuser@localhost; 六、备份与恢复 数据备份是数据库管理中至关重要的一环,MySQL提供了多种备份和恢复机制
1.物理备份: 使用`mysqldump`工具进行逻辑备份,或考虑使用Percona XtraBackup等第三方工具进行物理备份
bash mysqldump -u root -p database_name > backup.sql 2.恢复数据: 使用`mysql`命令将备份文件导入到数据库中
bash mysql -u root -p database_name < backup.sql 七、监控与优化 持续监控MySQL的性能指标,并根据监控结果进行优化,是保持数据库高效运行的关键
1.使用性能模式: 启用MySQL性能模式,收集和分析数据库性能数据
sql INSTALL PLUGIN performance_schema SONAME performance_schema.so; 2.监控工具: 考虑使用Prometheus、Grafana等监控工具,结合MySQL Exporter,实现对MyS