当前位置: 首页 > news >正文

MySQL安装实战分享

以下是一份详尽的MySQL安装实战指南,涵盖Windows、Linux、macOS三大平台及Docker部署方案,包含避坑技巧、安全配置和性能优化建议:

一、Windows系统安装(MySQL 8.0.36)
1. 安装包选择
开发环境‌:选mysql-installer-web-community-8.0.36.msi(在线安装)
生产环境‌:选mysql-installer-community-8.0.36.msi(离线完整包)
2. 关键配置步骤
powershell
Copy Code
# 安装后配置环境变量(手动添加)
$env:Path += ";C:\Program Files\MySQL\MySQL Server 8.0\bin"

# 初始化数据目录(防中文路径报错)
mysqld --initialize-insecure --user=mysql --console 
  --basedir="C:\Program Files\MySQL\MySQL Server 8.0" 
  --datadir="D:\mysql_data"

3. 服务管理命令
bat
Copy Code
:: 注册Windows服务
mysqld --install MySQL8 --defaults-file="C:\my.ini"

:: 启动/停止服务
net start MySQL8
net stop MySQL8


避坑指南‌:

若出现VCRUNTIME140_1.dll缺失错误,需安装VC++ 2019 Redistributable
端口冲突处理:netstat -ano | findstr :3306 + 任务管理器结束进程
二、Linux系统安装(Ubuntu 22.04)
1. APT源安装
bash
Copy Code
# 添加官方APT源
wget https://dev.mysql.com/get/mysql-apt-config_0.8.28-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.28-1_all.deb  # 选择MySQL8.0

# 安装服务端+客户端
sudo apt update
sudo apt install mysql-server mysql-client

# 安全初始化(重点!)
sudo mysql_secure_installation

2. 配置文件优化
ini
Copy Code
# /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
innodb_buffer_pool_size = 1G  # 根据内存调整
max_connections = 500

3. 权限问题处理
sql
Copy Code
-- 解决ERROR 1698 (28000): Access denied for user 'root'@'localhost'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
FLUSH PRIVILEGES;

三、macOS安装(Homebrew方案)
1. 使用brew安装
zsh
Copy Code
# 安装Homebrew版MySQL
brew install mysql

# 配置自启动
brew services start mysql

# 设置root密码
mysqladmin -u root password 'yourpassword'

2. M1芯片特殊处理
zsh
Copy Code
# 解决无法启动问题
sudo chown -R _mysql:mysql /opt/homebrew/var/mysql
sudo chmod -R 755 /opt/homebrew/var/mysql

四、Docker容器化部署
1. 快速启动命令
bash
Copy Code
docker run -d --name mysql8 \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=yourStrongPassword \
  -v /data/mysql:/var/lib/mysql \
  mysql:8.0 \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci

2. 生产环境推荐参数
yaml
Copy Code
# docker-compose.yml
services:
  mysql:
    image: mysql:8.0
    container_name: mysql-prod
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "加密密码建议使用Secret管理"
      TZ: "Asia/Shanghai"
    volumes:
      - mysql_data:/var/lib/mysql
      - ./my.cnf:/etc/mysql/conf.d/custom.cnf
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 5s
      retries: 3

五、安装后必做安全加固
1. 安全基线配置
sql
Copy Code
-- 删除匿名账户
DELETE FROM mysql.user WHERE User='';

-- 禁止root远程登录
CREATE USER 'admin'@'%' IDENTIFIED BY 'ComplexP@ssw0rd!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;

-- 移除测试数据库
DROP DATABASE IF EXISTS test;

2. 密码策略强化
sql
Copy Code
-- 设置密码复杂度策略
SET GLOBAL validate_password.policy = STRONG;
SET GLOBAL validate_password.length = 12;

六、性能监控与排错
1. 常用诊断命令
sql
Copy Code
SHOW ENGINE INNODB STATUS;  -- 查看锁信息
SHOW PROCESSLIST;           -- 当前连接状态
SHOW GLOBAL STATUS LIKE 'Threads_%'; -- 线程使用情况

2. 慢查询日志分析
ini
Copy Code
# 配置文件开启
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2


安装验证清单‌:

连接测试:mysql -u root -p -h 127.0.0.1 -P 3306
版本确认:SELECT @@version;
字符集校验:SHOW VARIABLES LIKE 'character_set%';

升级注意事项‌:

5.7→8.0需先运行mysql_upgrade程序
检查是否使用已弃用的参数(如query_cache_type)

附:各平台MySQL卸载完整脚本(点击查看)

http://www.xdnf.cn/news/150679.html

相关文章:

  • 数据加密技术:从对称加密到量子密码的原理与实战
  • 【重磅】敲敲云桌面版正式发布!
  • 电力系统最小惯性常数解析
  • 新闻速递丨Altair 与 Databricks 达成合作,加速数据驱动型创新
  • 【python】如何将python程序封装为cpython的库
  • PowerShell脚本实现|从文件夹动画序列中均匀选取关键帧(保留首尾帧)
  • 【Java开发规范及漏洞扫描】
  • 对比2款国产远控软件,贝锐向日葵更优
  • 嵌入式:Linux系统应用程序(APP)启动参数及其规则详解
  • 感知古今:探秘古代传感器的奇妙世界
  • STUN协议 与 TURN协议
  • 如何在SOLIDWORKS中高效管理文件属性?
  • 基于ssm的同城上门维修平台管理系统(源码+数据库)
  • 基于STM32、HAL库的ADS1220IPWR模数转换器ADC驱动程序设计
  • 什么是优质的静态IP?以及如何选择优质的静态IP?
  • redis 数据类型新手练习系列——Hash类型
  • script中async与defer区别
  • Java基本概念
  • C语言标准库函数setlocale用法详解
  • Prometheus中部署Alertmanager
  • 全面解析 Spring 依赖注入:@Autowired、@Inject 与 @Resource 深度剖析
  • CRI、CSI 和 CNI 是三大核心接口标准
  • 多层pcb工厂哪家好?
  • Java 后端开发环境安装
  • 【EDA】Placement(布局)
  • 安全性测试常规测试点全解析:从基础到高级的实战指南
  • AI智能SEO关键词优化策略
  • 人工智能(AI)对网络管理的影响
  • 13.ArkUI Navigation的介绍和使用
  • 队列基础和例题