特别是在基于RPM的Linux发行版(如CentOS、RHEL等)中,使用yum包管理器安装MySQL成为了一种高效且便捷的选择
然而,仅仅安装MySQL并不能满足实际需求,正确的配置是确保数据库安全、性能和稳定性的关键
本文将详细介绍如何通过yum安装MySQL并进行全面配置,帮助您快速搭建一个安全、高效的数据库环境
一、安装MySQL 在使用yum安装MySQL之前,请确保您的系统已经更新到最新版本,并且网络连接正常
以下是详细的安装步骤: 1.配置MySQL的Yum仓库源 MySQL官方提供了一个Yum仓库配置工具,可以帮助您安装正确的MySQL Yum仓库
首先,访问MySQL官方Yum仓库页面,下载对应系统的仓库文件
例如,对于CentOS 7或RHEL 7,您可以使用以下命令下载MySQL 8.0的仓库文件: bash wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm sudo rpm -ivh mysql80-community-release-el7-6.noarch.rpm 如果您需要安装其他版本(如MySQL 5.7),则需要下载并安装对应版本的仓库文件,并修改仓库配置以启用对应版本
2.清理并更新Yum缓存 在安装MySQL之前,建议先清理并更新Yum缓存,以确保获取最新的包信息: bash sudo yum cleanall 清理旧缓存 sudo yum makecache 生成新缓存 3.安装MySQL服务 使用yum命令安装MySQL服务器
默认情况下,`mysql-community-server`包会安装MySQL服务端: bash sudo yum install -y mysql-community-server 如果需要跳过GPG检查,可以添加--nogpgcheck选项 二、启动并配置MySQL服务 安装完成后,接下来需要启动MySQL服务,并进行一些基本配置
1.启动MySQL服务并设置开机自启 使用systemctl命令启动MySQL服务,并设置为开机自启: bash sudo systemctl start mysqld 启动服务 sudo systemctl enable mysqld 开机自启 2.获取初始密码并登录 首次安装MySQL时,它会生成一个临时的root用户密码
您可以从日志文件中找到这个密码: bash sudo grep temporary password /var/log/mysqld.log 使用临时密码登录MySQL: bash mysql -uroot -p 3.运行安全配置脚本 为了提高安全性,建议运行MySQL的安全配置脚本
该脚本会提示您设置新密码、移除匿名用户、禁止远程root登录等操作: bash sudomysql_secure_installation 按照提示进行操作,确保设置强密码,并禁用不必要的用户和权限
三、高级配置 除了基本的安全配置外,您还可以根据实际需求对MySQL进行更高级的配置
1.修改字符集和排序规则 默认情况下,MySQL的字符集和排序规则可能不是您所需要的
您可以通过修改`/etc/my.cnf`配置文件来更改这些设置
例如,将字符集设置为utf8mb4,排序规则设置为utf8mb4_unicode_ci: bash sudo vi /etc/my.cnf 在`【mysqld】`部分添加以下内容: ini 【mysqld】 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci 保存并退出编辑器后,重启MySQL服务以使更改生效: bash sudo systemctl restart mysqld 2.配置远程访问 默认情况下,MySQL只允许本地root用户登录
如果您需要从远程机器访问MySQL数据库,则需要配置远程访问
这通常涉及两个步骤:修改MySQL用户权限和配置防火墙规则
-修改MySQL用户权限 登录MySQL后,为您希望允许远程访问的用户授予适当的权限
例如,允许用户`yangxin`从任何主机连接: ```sql GRANT ALL PRIVILEGES- ON . TO yangxin@% IDENTIFIED BY Yangxin0917! WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 请注意,将用户权限设置为`%`意味着允许从任何主机连接,这可能会带来安全风险
因此,请根据您的实际需求设置合适的IP地址或主机名
-配置防火墙规则 如果您的服务器启用了防火墙,则需要配置防火墙规则以允许MySQL端口的流量(默认端口为3306)
例如,使用firewalld防火墙: ```bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload ``` 3.调整性能参数 MySQL的性能可以通过调整各种参数来优化
这些参数可以在`/etc/my.cnf`配置文件中进行设置
常见的性能参数包括: -`innodb_buffer_pool_size`:InnoDB存储引擎的缓冲池大小,通常设置为物理内存的70%-80%
-`query_cache_size`:查询缓存大小,对于写密集型应用可以禁用
-`max_connections`:允许的最大并发连接数
根据您的实际需求调整这些参数,并重启MySQL服务以使更改生效
4.备份和恢复 定期备份MySQL数据库是确保数据安全的重要措施
您可以使用mysqldump工具进行备份,并使用mysql命令进行恢复
例如: -备份数据库: ```bash mysqldump -uroot -p --all-databases >all_databases_backup.sql ``` -恢复数据库: ```bash mysql -uroot -p