作为开发者和数据库管理员,MySQL这一开源关系型数据库管理系统(RDBMS)因其高效、灵活和易用性而广受青睐
本文将详细指导您如何在Fedora27上安装并配置MySQL,确保每一步都精准无误,让您的数据库之旅顺畅无阻
一、准备工作 1. 更新系统 在安装任何新软件之前,首先确保您的Fedora27系统是最新的
这有助于避免潜在的兼容性问题,并获取最新的安全补丁
bash sudo dnf update -y 2. 添加MySQL Yum存储库 MySQL官方提供了适用于不同Linux发行版的Yum存储库,这使得安装和更新MySQL变得非常简单
在Fedora上,我们需要先下载并添加MySQL Yum存储库
访问【MySQL官方网站】(https://dev.mysql.com/downloads/repo/yum/),根据您的系统架构(如x86_64)下载相应的`.rpm`包
例如,对于64位系统,您可能会下载`mysql80-community-release-el7-5.noarch.rpm`(注意版本号可能有所变化,请检查最新信息)
下载完成后,使用`dnf`命令安装该包: bash sudo dnf localinstall -y /path/to/downloaded/mysql80-community-release-el7-.rpm 这条命令会自动将MySQL Yum存储库添加到您的系统中
二、安装MySQL服务器 1.禁用默认的MySQL测试存储库(可选) MySQL提供了测试存储库,其中包含尚未发布到GA(通用可用性)阶段的版本
为了确保稳定性,通常建议禁用此存储库
编辑MySQL Yum存储库配置文件: bash sudo nano /etc/yum.repos.d/mysql-community.repo 找到`【mysql80-community-testing】`部分,并将其`enabled`选项设置为`0`: ini 【mysql80-community-testing】 name=MySQL8.0 Community Server - Testing baseurl=http://repo.mysql.com/yum/mysql-8.0-community/testing/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023 保存并退出编辑器
2. 安装MySQL服务器 现在,您可以开始安装MySQL服务器软件了: bash sudo dnf install -y mysql-community-server 安装过程中,`dnf`会自动处理所有依赖关系,确保所有必需的软件包都已安装
三、启动并配置MySQL服务 1. 启动MySQL服务 安装完成后,启动MySQL服务并设置其开机自启动: bash sudo systemctl start mysqld sudo systemctl enable mysqld 2. 获取临时root密码 MySQL服务器首次启动时,会自动生成一个临时root密码,并记录在`/var/log/mysqld.log`文件中
使用以下命令查找该密码: bash sudo grep temporary password /var/log/mysqld.log 记下这个密码,稍后您将需要用到它
3. 安全配置MySQL MySQL提供了一个脚本`mysql_secure_installation`,用于执行一系列安全相关的配置
运行此脚本,并按照提示操作: bash sudo mysql_secure_installation -更改root密码:输入之前找到的临时密码,然后设置一个新的root密码
-移除匿名用户:建议移除,以提高安全性
-禁止root远程登录:出于安全考虑,建议root用户只能从本地登录
-删除测试数据库:删除test数据库及其访问权限
-重新加载权限表:应用所有更改
四、基本配置与优化 1. 登录MySQL 使用新设置的root密码登录MySQL: bash mysql -u root -p 2. 配置字符集和排序规则 为了支持多语言内容,建议配置MySQL使用UTF-8字符集和utf8mb4排序规则
编辑MySQL配置文件`/etc/my.cnf`(或`/etc/mysql/my.cnf`,具体位置可能因安装而异): bash sudo nano /etc/my.cnf 在`【mysqld】`部分添加或修改以下行: ini 【mysqld】 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci 保存并退出编辑器,然后重启MySQL服务以应用更改: bash sudo systemctl restart mysqld 3. 创建用户和数据库 登录MySQL后,您可以根据需要创建新的数据库和用户,并分配适当的权限
例如,创建一个名为`exampledb`的数据库和一个名为`exampleuser`的用户,并授予该用户对数据库的完全访问权限: sql CREATE DATABASE exampledb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER exampleuser@localhost IDENTIFIED BY yourpassword; GRANT ALL PRIVILEGES ON exampledb- . TO exampleuser@localhost; FLUSH PRIVILEGES; 五、监控与维护 1. 查看MySQL状态 使用`systemctl`命令检查MySQL服务的状态: bash sudo systemctl status mysqld 2. 日志管理 MySQL的日志文件默认位于`/var/log/mysql/`目录下
定期检查这些日志文件,可以帮助您及时发现并解决