在Linux下使用RPM包安装MySQL的步骤如下(以MySQL Community Server为例),如何在Linux下轻松使用RPM包安装MySQL Community Server?,如何在Linux下一键搞定MySQL Community Server的RPM安装?
下载 MySQL RPM 包
访问 MySQL 官方下载页面 获取适合您系统版本的 RPM 包:
Bash
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm # CentOS/RHEL 7 示例
版本选择建议:
- EL7:适用于 CentOS/RHEL 7.x
- EL8:适用于 CentOS/RHEL 8.x
- EL9:适用于 CentOS/RHEL 9.x
请确保下载与您系统版本完全匹配的 RPM 包,否则可能导致依赖冲突或安装失败。
添加 MySQL Yum 仓库
安装下载的仓库配置包(两种方式任选其一):
传统 RPM 安装
- sudo rpm -ivh mysql80-community-release-el7-6.noarch.rpm
YUM 本地安装(推荐)
- sudo yum localinstall mysql80-community-release-el7-6.noarch.rpm
安装 MySQL Server
安装服务端核心组件
- sudo yum install mysql-community-server
安装客户端工具集(推荐)
- sudo yum install mysql-community-client
扩展工具建议: 对于数据库管理员,建议额外安装以下工具包:
- sudo yum install mysql-community-devel mysql-community-libs-compat
启动 MySQL 服务
- sudo systemctl start mysqld # 启动服务
- sudo systemctl enable mysqld # 设置开机自启
- sudo systemctl status mysqld # 验证服务状态
服务管理提示:
- 使用
journalctl -xe
可查看详细的启动日志- 若启动失败,检查
/var/log/mysqld.log
获取具体错误信息
获取初始密码
MySQL 8.0 在首次安装后会生成一个高强度的临时 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!@#
安全警告:
- 此临时密码24小时内有效
- 建议立即修改并妥善保管新密码
- 密码应包含大小写字母、数字和特殊字符组合
安全加固配置(关键步骤)
运行官方安全配置向导:
- sudo mysql_secure_installation
配置过程中需要完成以下安全设置:
- 密码验证:输入临时密码后设置新密码
- 密码强度:建议保持默认的MEDIUM级别(要求密码长度≥8,含大小写、数字和特殊字符)
- 匿名用户:强烈建议移除(选择Y)
- 远程root登录:生产环境必须禁用(选择Y)
- 测试数据库:非必要情况下建议删除(选择Y)
- 权限表:立即重载权限变更(选择Y)
登录 MySQL 控制台
使用配置好的密码登录:
- mysql -u root -p
成功登录后将显示MySQL提示符:
- mysql>
高级配置选项
字符集配置(推荐utf8mb4)
编辑配置文件 /etc/my.cnf
或 /etc/my.cnf.d/mysql-server.cnf
:
- [mysqld]
- character-set-server=utf8mb4
- collation-server=utf8mb4_unicode_ci
- default-time-zone='+08:00' # 设置时区(可选)
- [client]
- default-character-set=utf8mb4
应用配置变更:
- sudo systemctl restart mysqld
验证字符集设置:
- SHOW VARIABLES LIKE 'character_set%';
- SHOW VARIABLES LIKE 'collation%';
远程访问配置(谨慎开启)
步骤1:创建专用远程用户
- CREATE USER 'db_remote'@'%' IDENTIFIED BY 'Complex@Password123';
- GRANT ALL PRIVILEGES ON *.* TO 'db_remote'@'%' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
步骤2:防火墙配置
- sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
- sudo firewall-cmd --reload
安全建议:
- 使用非root账户进行远程连接
- 限制访问IP(如'192.168.1.%')
- 考虑使用SSH隧道更安全
常见问题解决方案
依赖冲突处理
场景:安装时提示与现有mysql-libs冲突
解决方案:
- # 先尝试正常卸载
- sudo yum remove mysql-libs
- # 若仍有冲突,强制移除(谨慎使用)
- sudo rpm -e --nodeps mysql-libs
密码策略调整
临时降低复杂度要求(仅测试环境):
- SET GLOBAL validate_password.policy=LOW;
- SET GLOBAL validate_password.length=4;
永久修改策略:
编辑 /etc/my.cnf
:
- [mysqld]
- validate_password.policy=LOW
- validate_password.length=4
性能调优建议
基础性能参数:
- [mysqld]
- max_connections=200
- innodb_buffer_pool_size=1G # 建议为物理内存的50-70%
- innodb_log_file_size=256M
- query_cache_size=64M
应用配置后重启服务:
- sudo systemctl restart mysqld
完全卸载 MySQL
彻底移除方案:
- # 卸载软件包
- sudo yum remove mysql-community-*
- # 清除残留文件
- sudo rm -rf /var/lib/mysql
- sudo rm -rf /etc/my.cnf /etc/my.cnf.d
- # 清理YUM缓存
- sudo yum clean all
运维最佳实践
-
备份策略
- 每日全量备份:
mysqldump -u root -p --all-databases > backup.sql
- 启用二进制日志:配置
log-bin=mysql-bin
- 每日全量备份:
-
监控方案
- 安装MySQL监控插件:
sudo yum install mysql-community-monitor
- 配置性能监控:
SET GLOBAL performance_schema=ON;
- 安装MySQL监控插件:
-
用户权限管理
- -- 创建应用专用用户
- CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'App@Pass123';
- GRANT SELECT, INSERT, UPDATE ON app_db.* TO 'app_user'@'localhost';
-
定期维护
- ANALYZE TABLE important_table;
- OPTIMIZE TABLE frequently_updated_table;
通过以上完整配置,您的MySQL服务器已具备生产环境部署基础,建议根据实际负载情况进一步优化参数配置,并建立完善的监控告警机制。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!