Linux用户轻松安装MySQL8指南

linux普通用户安装mysql8

时间:2025-06-25 19:10


Linux普通用户安装MySQL8.0的详细指南 在Linux系统下安装MySQL8.0对于普通用户而言可能看起来有些复杂,但只要按照步骤逐一操作,完全可以顺利完成

    本文将详细介绍如何在Linux系统中安装MySQL8.0,并提供一些实用的配置和优化建议,确保你的数据库运行稳定且安全

     一、安装前准备 1. 操作系统与环境 本文将以CentOS7.x为例进行说明,但大多数步骤也适用于其他Linux发行版,如Ubuntu等

    确保你的操作系统已经更新到最新版本,并开启防火墙(注意开放MySQL对应的端口)

     2. 下载MySQL安装包 前往MySQL官方网站下载页面:【MySQL下载地址】(https://dev.mysql.com/downloads/),选择“MySQL Community Server”并点击“Download”按钮

    根据你的Linux版本(如Linux-GLIBC2.12-x86_64)选择对应的安装包进行下载

    你也可以通过命令行使用wget等工具直接下载

     3. 检查系统资源 确保你的计算机至少有2GB以上内存和500MB以上可用磁盘空间,以保证MySQL的安装和运行流畅

     4. 卸载旧版本MySQL或MariaDB 在安装新版本之前,务必卸载系统中可能存在的旧版本MySQL或MariaDB

    这是因为它们可能会与新版本产生冲突

    你可以使用以下命令来卸载: bash sudo yum remove mysqlmariadb -y sudo rm -rf /var/lib/mysql/ sudo rm -rf /etc/my.cnf 二、安装MySQL8.0 1. 配置官方仓库 直接使用yum安装可能得到的是较旧的版本,因此建议配置MySQL官方仓库以获取最新版本

    运行以下命令来下载并安装MySQL官方仓库的RPM包: bash sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm 2. 开始安装MySQL 配置好官方仓库后,你可以使用yum命令来安装MySQL8.0: bash sudo yum install mysql-community-server -y 这个过程可能会花费一些时间,具体取决于你的网络速度

     3. 启动MySQL服务 安装完成后,启动MySQL服务并设置开机自启动: bash sudo systemctl start mysqld sudo systemctl enable mysqld 4. 获取初始密码 MySQL8.0在安装完成后会自动生成一个临时密码

    你可以通过以下命令找到这个密码: bash sudo grep temporary password /var/log/mysqld.log 输出类似这样: bash 2023-07-20T03:25:01.234567Z6【Note】【MY-010454】【Server】 A temporary password is generated for root@localhost: Abcdefg123! 这里的“Abcdefg123!”就是你的初始密码

     三、MySQL配置与优化 1. 登录MySQL并修改密码 使用初始密码登录MySQL: bash mysql -uroot -p 输入初始密码后,系统会提示你修改密码

    MySQL8.0的密码策略非常严格,必须包含大小写字母、数字和特殊符号,且长度不少于8位

    例如: sql ALTER USER root@localhost IDENTIFIED BY MyNewPass123!; 2. 配置MySQL 编辑MySQL配置文件`/etc/my.cnf`,添加或修改以下配置以优化性能: ini 【mysqld】 default-authentication-plugin=mysql_native_password 兼容旧版本连接 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci max_connections=1000 innodb_buffer_pool_size=1G 根据内存调整 lower_case_table_names=1 设置不区分表名大小写(仅在初始化时有效) bind-address =0.0.0.0 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION 修改配置后,重启MySQL服务以应用更改: bash sudo systemctl restart mysqld 3. 远程连接配置 默认情况下,MySQL只允许本地连接

    如果你需要从远程访问MySQL数据库,需要进行以下配置: -创建一个允许远程访问的用户(如果已存在则无需创建): sql CREATE USER root@% IDENTIFIED WITH mysql_native_password BY root; GRANT ALL PRIVILEGES ON- . TO root@% WITH GRANT OPTION; FLUSH PRIVILEGES; - 或者修改现有用户的访问权限: sql USE mysql; SELECT host, user FROM user; UPDATE user SET host = % WHERE user = root; FLUSH PRIVILEGES; 注意:在生产环境中,不建议使用%来允许所有IP访问

    最好指定特定的IP段以提高安全性

     4. 调整防火墙设置 确保你的防火墙已经开放MySQL对应的端口(默认是3306)

    你可以使用以下命令来开放端口: bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload 四、常见问题与排错 1. 启动失败报错 如果遇到MySQL启动失败的情况,可以检查以下几点: -磁盘空间是否足够

     - 查看`/var/log/mysqld.log`日志文件以获取具体错误信息

     - SELinux是否关闭(临时关闭:`setenforce0`)

    但请注意,长期关闭SELinux可能会降低系统安全性

     2. 密码策略太严格 如果你希望降低密码复杂度(不建议在生产环境中使用),可以执行以下SQL命令: sql SET GLOBAL validate_password