【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的网络访问。
  • 备份:在修改配置或进行重要操作前,请务必备份数据库。
相关推荐
Tender_光35 分钟前
iptables实验
运维·服务器
明月醉窗台44 分钟前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
szxinmai主板定制专家1 小时前
【飞腾AI加固服务器】全国产化飞腾+昇腾310+PCIe Switch的AI大模型服务器解决方案
运维·服务器·arm开发·人工智能·fpga开发
点击查询1 小时前
怎么把自己电脑设置成服务器?
运维·服务器
沉到海底去吧Go1 小时前
【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
数据库·qt·ocr·图片识别自动改名·图片区域识别改名·pdf识别改名
阿里云大数据AI技术2 小时前
ES Serverless 8.17王牌发布:向量检索「火力全开」,智能扩缩「秒级响应」!
大数据·运维·serverless
yzx9910132 小时前
Linux 系统中的算法技巧与性能优化
linux·算法·性能优化
fengyehongWorld2 小时前
Linux Docker的简介
linux·docker
wanhengidc2 小时前
服务器中日志分析的作用都有哪些
运维·服务器
老纪的技术唠嗑局2 小时前
重剑无锋,大巧不工 —— OceanBase 中的 Nest Loop Join 使用技巧分享
数据库·sql