【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的网络访问。
  • 备份:在修改配置或进行重要操作前,请务必备份数据库。
相关推荐
IT成长日记31 分钟前
【Nginx开荒攻略】Nginx虚拟主机配置:从域名、端口到IP的完整指南
linux·运维·服务器·nginx·虚拟主机
taxunjishu35 分钟前
DeviceNet 转 Modbus TCP 协议转换在 S7-1200 PLC化工反应釜中的应用
运维·人工智能·物联网·自动化·区块链
瓯雅爱分享1 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
迎風吹頭髮2 小时前
Linux内核架构浅谈8-Linux内核与UNIX的传承:设计思想与特性差异
linux·运维·架构
黑马金牌编程3 小时前
Linux 服务器常见的性能调优
linux·运维·服务器·性能优化
jieyu11193 小时前
网络、主机安全扫描工具
linux·安全·系统安全
tianyuanwo3 小时前
Linux进程管理中的T状态问题分析与解决体系
linux·运维·进程管理·t状态
BTU_YC3 小时前
Neo4j查询计划完全指南:读懂数据库的“执行蓝图“
数据库·neo4j
非极限码农3 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j
mit6.8243 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#