使用PowerShell安装MySQL
更新记录
2022年4月16日:本文迁移自Panda666原博客,原发布时间:2021年7月10日。
2022年4月16日:更新MySQL下载链接。
一、说明与准备工作
根据MySQL官网提供的安装MySQL的方式有2种:
- 通过官方msi安装包安装,支持离线安装和在线安装。
- 通过官方压缩包解压安装。
官方msi安装包方式安装直接点击exe,跟着引导安装即可。下面使用官方提供的压缩包进行安装MySQL。安装过程中使用的软件版本信息:
- 操作系统版本:Windows Server 2019 Datacenter 1809版本。您如果没有Windows Server 2019,可以从微软官方下载评估版本。
- MySQL版本: MySQL 8.0.26 x64,您也可以从其他地方下载MySQL,比如:登录Oracle从官方下载商业版本。
- 命令行工具:Powershell版本 5.1.17763.1971。Windows Server 2019自带的。
- 测试使用的虚拟机:VMware Workstation 16 Pro。
二、开始配置
首先确保您的Windows Server 2019 可以正常运行,这里不展示如何安装和运行Windows Server 2019 。
切换到Program Files下
cd 'C:\Program Files'
新建文件夹用于存放MySQL程序
New-Item -ItemType Directory "mysql"
cd .\mysql
开始下载MySQL程序
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -uri "https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.26-winx64.zip" -OutFile "mysql-8.0.26-winx64.zip"
验证md5是否正确,通过对比,MD5正确
Get-FileHash "./mysql-8.0.26-winx64.zip" -Algorithm MD5| Format-List
解压压缩包
Expand-Archive -Path ".\mysql-8.0.26-winx64.zip" -DestinationPath ./
进入具体版本的mysql的bin目录
cd .\mysql-8.0.26-winx64\bin
执行安装命令
./mysqld.exe --initialize --console
#指定自定义数据存放目录
#./mysqld.exe --initialize --console --datadir=./pandaData
#指定自定义配置文件
#./mysqld.exe --initialize --console --datadir=../pandaData --defaults-file=C:\my.ini
注意:此时您可以新建一个MySQL自定义配置文件,比如:C:/panda666.ini,在安装中使用,我在文章末尾放置了一份配置文件。
注意:这时候命令行会提示安装信息,并显示默认root用户密码,请保存该密码,后面需要使用,比如:
将mysql安装为Windows的服务
./mysqld.exe -install
启动mysql服务
net start mysql
登陆数据库,输入刚刚默认初始化的密码即可
./mysql.exe -u root -p
修改root用户密码
use mysql;
alter user 'root'@'localhost' identified by '密码';
add user 'root'@'*' identified by '密码';
UPDATE User SET Host = '%' WHERE 1;
flush privileges;
commit;
停止MySQL服务
net stop mysqld
或者
sc stop mysqld
删除MySQL服务(需先停止服务)
sc delete mysqld
#或者
mysqld -remove
三、配置文件
panda666.ini
[mysqld]
# 设置mysql的安装目录,也就是刚才我们解压的目录
basedir=C:/MySQL-8.0.23-winx64
# 设置mysql数据库的数据的存放目录
# datadir=C:/mysql-8.0.23-winx64/data
# 设置默认使用的端口
port=3306
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人试图攻击数据库
max_connect_errors=10
# 服务端使用的字符集
character-set-server=utf8mb4
# 数据库字符集对应一些排序等规则使用的字符集
collation-server=utf8mb4_general_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件作为认证加密方式
# MySQL8.0默认认证加密方式为caching_sha2_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4
port=3306
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16153832.html