【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的网络访问。
  • 备份:在修改配置或进行重要操作前,请务必备份数据库。
相关推荐
海浪仙人掌6 分钟前
应收账款分析如何操作?应收账款分析有哪些注意事项?
数据库·人工智能
Elastic 中国社区官方博客9 分钟前
在 Elasticsearch 中回填时间序列数据:通过批量 API 加载数月的历史指标数据
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
Horn Still Sounds14 分钟前
Linux网络并发服务器模型与SQLite数据库学习笔记
linux·服务器·数据库
10mAh26 分钟前
【Linux】CPU 100% 怎么排查?——top、pidstat、jstack 到线程定位实战
linux·运维·服务器
深念Y29 分钟前
开机启动优化记录
linux·开机
!chen43 分钟前
客户环境 Nginx 配置流式报表与超时排查
运维·nginx
昵称画43 分钟前
POC验证怎么设计用例?不走过程的实操要点
大数据·数据库·人工智能·低代码·excel
TDengine (老段)1 小时前
TDengine Catalog 与元数据缓存
大数据·数据库·物联网·缓存·时序数据库·tdengine
Titan20241 小时前
网络基础:传输层协议知识梳理
linux·服务器·网络
CarIise1 小时前
MySQL数据库表关系与多表查询:从表间关系设计到JOIN联表查询
数据库·mysql