Linux系统安装MySQL8超详细教程
linux安装mysql8教程

首页 2025-07-16 01:43:39



Linux安装MySQL8详细教程 MySQL作为广泛使用的关系型数据库管理系统,其强大的功能和灵活性深受开发者喜爱

    在Linux系统下安装MySQL8不仅能够充分利用服务器的性能,还能确保数据库的稳定性和安全性

    本文将详细介绍如何在Linux(以CentOS7为例)上安装MySQL8,并给出一些实用的配置和安全设置建议

     一、准备工作 在安装MySQL8之前,确保你的Linux系统满足以下要求: 1.系统环境:本文基于CentOS 7进行操作,系统架构为x86_64

    其他Linux发行版如Ubuntu的操作步骤可能会有所不同

     2.内存和硬盘:建议内存至少2GB,硬盘空间至少20GB,以确保数据库的正常运行和数据的存储

     3.防火墙设置:确保防火墙已开启,并开放MySQL所需的端口(默认3306)

    不建议关闭防火墙,而应设置开放对应的端口给特定的IP地址

     4.依赖安装:在安装MySQL之前,确保已安装必要的依赖组件,如wget、vim、libaio、ncurses-compat-libs等

     二、卸载旧版本MySQL(如有) 在安装新版本MySQL之前,建议先卸载旧版本的MySQL或MariaDB,以避免版本冲突和依赖问题

     1.查看已安装的MySQL版本: bash rpm -qa | grep -i mysql 2.停止MySQL服务: bash systemctl stop mysqld.service 3.卸载MySQL: bash rpm -ev --nodeps【MySQL包名】 4.删除MySQL相关目录和文件: bash find / -name mysql rm -rf【查找到的目录和文件】 rm -rf /etc/my.cnf rm -rf /var/log/mysql/mysqld.log 5.检查是否卸载干净: bash rpm -qa | grep -i mysql 三、安装MySQL8 方法一:通过YUM源安装 1.添加官方YUM源: 推荐使用国内镜像源以加速下载,如清华镜像源

     bash wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community.repo -O /etc/yum.repos.d/mysql.repo 2.禁用默认的MySQL模块(如有): bash sudo yum module disable mysql 3.安装MySQL服务端: bash sudo yum install mysql-community-server -y 4.启动MySQL服务并设置开机自启: bash systemctl start mysqld systemctl enable mysqld systemctl status mysqld 5.获取初始密码: MySQL安装完成后,会在`/var/log/mysqld.log`文件中生成一个临时密码

     bash grep temporary password /var/log/mysqld.log 方法二:通过二进制包安装 1.下载MySQL二进制包: 从MySQL官网(【https://dev.mysql.com/downloads/mysql/】(https://dev.mysql.com/downloads/mysql/))下载对应版本的二进制包,如`mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz`

     2.上传并解压二进制包: 使用SFTP/FTP工具将下载的二进制包上传到服务器指定目录,如`/usr/local/`

     bash tar -Jxvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql8 3.创建MySQL组和用户: bash groupadd mysql useradd -r -g mysql mysql 4.创建数据目录并赋予权限: bash mkdir -p /data/mysql8_data chown mysql:mysql -R /data/mysql8_data chmod750 /data/mysql8_data 5.配置环境变量: 为了方便使用MySQL客户端工具,可以将`/usr/local/mysql8/bin`目录添加到PATH变量中

     bash export PATH=$PATH:/usr/local/mysql8/bin 6.初始化数据库: 在初始化之前,需要创建`my.cnf`配置文件

     bash vim /etc/my.cnf 添加以下内容: ini 【mysqld】 basedir=/usr/local/mysql8 datadir=/data/mysql8_data/mysql socket=/tmp/mysql.sock port=3306 character-set-server=utf8mb4 lower_case_table_names=1 然后初始化数据库: bash mysqld --initialize --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql 7.启动MySQL服务: 可以将MySQL服务添加到systemd中,以便管理

     bash cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysql chkconfig --add mysql service mysql start 四、MySQL配置与安全设置 1.修改root密码: 使用初始密码登录MySQL后,立即修改root密码

     sql ALTER USER root@localhost IDENTIFIED BY NewPassword123!; 密码复杂度要求:必须包含大小写字母、数字和特殊字符,长度至少8位

     2.创建新用户并授权: 出于安全考虑,建议不要使用root用户进行日常操作

     sql CREATE USER dev@% IDENTIFIED BY DevPassword123!; GRANT ALL PRIVILEGES ON. TO dev@%; FLUSH PRIVILEGES; 3.开启远程访问: 如果需要远程访问MySQL数据库,需要修改`my.cnf`配置文件中的`bind-address`参数为`0.0.0.0`,并开放防火墙的3306端口

     bash firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload 4.配置字符集: 确保MySQL使用UTF-8字符集以避免中文乱码问题

     ini 【mysqld】 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci 5.性能优化: 根据服务器的内存和业务需求调整MySQL的配置文件,如`innodb_buffer_pool_size`和`max_connections`等参数

    

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