【MySQL数据库】mySQL 8.0.33安装指南

文章目录

  • 安装步骤
    • [1. 解压安装包](#1. 解压安装包)
    • [2. 移动解压后的文件夹](#2. 移动解压后的文件夹)
    • [3. 创建MySQL用户](#3. 创建MySQL用户)
    • [4. 设置权限](#4. 设置权限)
    • [5. 配置MySQL](#5. 配置MySQL)
    • [6. 设置环境变量](#6. 设置环境变量)
    • [7. 初始化数据库](#7. 初始化数据库)
    • [8. 设置系统服务](#8. 设置系统服务)
    • [9. 设置root密码](#9. 设置root密码)
    • [10. 登录MySQL并配置远程访问](#10. 登录MySQL并配置远程访问)
  • 注意

安装步骤

1. 解压安装包

bash 复制代码
tar -xf mysql-8.0.33-el7-x86_64.tar.gz

2. 移动解压后的文件夹

bash 复制代码
mv mysql-8.0.33-el7-x86_64 mysql
mv mysql /usr/local/

3. 创建MySQL用户

bash 复制代码
useradd -s /sbin/nologin mysql

4. 设置权限

bash 复制代码
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

5. 配置MySQL

编辑 /etc/my.cnf 文件,覆盖为以下配置(可以把原配置注释掉):

bash 复制代码
# 客户端配置
[client]
port = 3306                      # MySQL客户端连接的默认端口
socket=/usr/local/mysql/mysql.sock # MySQL客户端连接的socket文件路径

# MySQL服务器配置
[mysqld]
user = mysql                      # 运行MySQL服务的系统用户
basedir=/usr/local/mysql          # MySQL安装目录的路径
datadir=/usr/local/mysql/data     # MySQL数据文件的存储目录
port = 3306                      # MySQL服务器监听的端口号
character-set-server=utf8         # 服务器端默认字符集
pid-file = /usr/local/mysql/mysqld.pid # MySQL服务器进程ID文件的路径
socket=/usr/local/mysql/mysql.sock # MySQL服务器使用的socket文件路径
bind-address = 0.0.0.0           # MySQL服务器绑定的IP地址,0.0.0.0表示监听所有可用的网络接口
skip-name-resolve                # 禁用DNS解析,提高连接速度,但可能导致无法使用主机名连接
max_connections=2048             # 允许的最大并发连接数
default-storage-engine=INNODB    # 默认存储引擎,这里设置为InnoDB
max_allowed_packet=16M           # 允许的最大数据包大小,单位为字节
server-id = 1                    # MySQL复制中的唯一标识符,用于主从复制
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # SQL模式设置,定义了MySQL应如何处理SQL语句

6. 设置环境变量

bash 复制代码
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

7. 初始化数据库

bash 复制代码
cd /usr/local/mysql/bin/
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

8. 设置系统服务

bash 复制代码
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl daemon-reload
systemctl restart mysqld

9. 设置root密码

bash 复制代码
mysqladmin -u root password "123456"

10. 登录MySQL并配置远程访问

bash 复制代码
mysql -u root -p123456

在MySQL shell中执行:

sql 复制代码
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

注意

  • 安全性:在生产环境中,请务必设置强密码,并限制远程访问权限。
  • 防火墙:确保服务器的防火墙允许3306端口的流量。
  • SELinux:如果启用了SELinux,可能需要额外配置以允许MySQL的网络访问。
  • 备份:在修改配置或进行重要操作前,请务必备份数据库。
相关推荐
折哥的程序人生 · 物流技术专研1 天前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
AOwhisky1 天前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
李白的天不白1 天前
数据库连接报错问题
数据库
一条泥憨鱼1 天前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
c238561 天前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白661 天前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
2401_834636991 天前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
爱喝水的鱼丶1 天前
SAP-ABAP:SAP视图开发入门:四类标准视图的适用场景与创建步骤详解
服务器·数据库·性能优化·sap·abap
大白要努力!1 天前
MySQL 8.0 + Navicat 完整操作指南
数据库·mysql
aosky1 天前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github