Linux系统安装MySQL8教程
linux 安装mysql8

首页 2025-07-19 07:03:01



Linux安装MySQL8详细指南 在Linux系统上安装MySQL8是一项关键任务,无论是对于数据库管理员还是开发人员来说都至关重要

    本文旨在提供一个详尽且操作性强的指南,帮助您在Linux环境中顺利安装和配置MySQL8

     一、安装前的准备工作 在安装MySQL8之前,确保您的系统是最新的,并且满足MySQL的最低硬件要求

    以下是一些必要的准备工作: 1.系统环境检查: - 检查Linux发行版和版本

    例如,在CentOS上,您可以使用`cat /etc/redhat-release`命令来查看版本信息

     - 确认系统架构是否为x86_64,这通常是现代服务器的标准架构

     2.关键依赖安装: - 更新系统软件包列表并安装必要的组件

    例如,在基于YUM的系统上,您可以运行`sudo yum update -y`和`sudo yum install -y wget vim libaio ncurses-compat-libs`命令

     3.内存和硬盘要求: - MySQL8至少需要2GB的内存(尽管1GB内存的系统可能也能运行,但性能会受到影响)

     -硬盘空间至少需要20GB,以确保有足够的空间存储数据库文件和日志文件

     二、安装MySQL8 以下是两种常用的安装方法:通过YUM存储库安装和通过二进制包安装

     方法一:通过YUM存储库安装 1.添加官方YUM源: - 推荐使用国内镜像源以加速下载

    例如,使用清华大学的镜像源: bash sudo wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community.repo -O /etc/yum.repos.d/mysql.repo 2.安装MySQL服务端: - 运行以下命令来安装MySQL社区版服务器: bash sudo yum install mysql-community-server -y - 如果遇到版本冲突错误,可以尝试禁用系统的默认MySQL模块: bash sudo yum module disable mysql 3.启动MySQL服务: - 启动MySQL服务并设置开机自启: bash sudo systemctl start mysqld sudo systemctl enable mysqld - 检查MySQL服务状态以确保它正在运行: bash sudo systemctl status mysqld 4.获取初始密码: - MySQL8在安装过程中会为root用户生成一个临时密码,该密码存储在MySQL日志文件中

    使用以下命令找到临时密码: bash grep temporary password /var/log/mysqld.log 方法二:通过二进制包安装 1.下载MySQL二进制包: -访问MySQL官方网站(【https://dev.mysql.com/downloads/mysql/】(https://dev.mysql.com/downloads/mysql/))并下载适用于您的Linux发行版和架构的二进制包

     - 使用`wget`命令下载二进制包,例如: bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz 2.解压并移动二进制包: - 使用`tar`命令解压下载的二进制包: bash tar -Jxvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz - 将解压后的目录移动到`/usr/local/`路径下(或您选择的任何路径): bash mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql8 3.创建用户和赋予权限: - 创建MySQL组和用户: bash groupadd mysql useradd -r -g mysql mysql - 创建MySQL数据目录并赋予权限: bash mkdir -p /data/mysql8_data chown mysql:mysql -R /data/mysql8_data chmod750 /data/mysql8_data 4.配置MySQL: - 创建或编辑`my.cnf`配置文件,通常位于`/etc/my.cnf`或`/usr/local/mysql8/etc/my.cnf`

    配置文件中需要设置基于您的系统路径的参数,例如: ini 【mysqld】 basedir = /usr/local/mysql8 datadir = /data/mysql8_data/mysql port =3306 server-id =1 socket = /tmp/mysql.sock character-set-server = utf8mb4 5.初始化数据库: - 使用`mysqld --initialize`命令初始化数据库

    注意,这个命令会在数据目录中创建必要的系统表

     6.启动MySQL服务: - 您可以将MySQL服务添加到systemd中以便管理,或者手动启动MySQL服务

    手动启动的示例如下: bash /usr/local/mysql8/bin/mysqld_safe --user=mysql & 三、安全设置 安装完成后,必须进行一些关键的安全设置以确保MySQL的安全运行

     1.修改root密码: - 使用临时密码登录MySQL,并运行`ALTER USER`命令来更改root用户的密码

    例如: sql ALTER USER root@localhost IDENTIFIED BY MyNewPass123!; - 注意,MySQL8对密码复杂度有严格要求,密码必须包含大小写字母、数字和特殊字符,并且长度至少为8位

     2.创建新用户: - 为了安全起见,不建议使用root用户进行日常数据库操作

    创建一个新用户并授予适当的权限: sql CREATE USER dev@% IDENTIFIED BY DevPass123!; GRANT ALL PRIVILEGES ON. TO dev@%; FLUSH PRIVILEGES; 3.调整密码策略: - 使用`SHOW VARIABLES LIKE validate_password%`命令查看当前的密码策略设置

     - 根据需要调整密码策略,例如设置更简单的密码要求: sql SET GLOBAL validate_password.policy =0; SET GLOBAL validate_password.length =4; 4.开启远程访问: - 如果需要远程访问MySQL数据库,请确保MySQL服务绑定的IP地址包括您的客户端IP,或者将其设置为0.0.0.0以允许所有IP访问

     - 更新`user`表中的`Host`字段以允许远程连接: sql UPDATE mysql.user SET Host=% WHERE User=root; FLUSH PRIVILEGES; - 配置防火墙以允许MySQL端口(默认是3306)的流量通过

    例如,在firewall

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道