win11安装mysql8.3.0压缩包版 240206

mysql社区版安装包版windows安装包下载地址

在系统环境变量path无点.的情况下

  • powershell 可以 .\./ 开头表示当前文件夹
  • cmd 可以直接命令或.\开头, 不能./开头
    所以 .\ 在cmd和powershell中通用

步骤

  1. 在解压目录 .\mysqld --initialize-insecure root无密码初始化
  2. .\mysqld install 安装服务
  3. net start mysql 启动MySQL服务
  4. .\mysql -uroot 登录
  5. CREATE USER IF NOT EXISTS 'remote'@'%' IDENTIFIED BY 'remote'; GRANT ALL ON *.* TO 'remote'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; 创建远程用户
  6. net stop mysql 停止服务
  7. .\mysqld remove 移除服务
  8. 拷贝整个解压安装目录到另一个文件夹, 或者换个电脑, 实现数据迁移 , 同版本同配置可只拷贝data文件夹
  9. .\mysqld install 安装服务
  10. .\net start mysql 启动MySQL服务

win11安装mysql8.3.0压缩包版 240206

mysql社区版安装包版windows安装包下载地址

解压安装初始化启动服务

  1. 解压到自定义安装目录

  2. 以管理员身份运行powershell或cmd进入安装目录
    powershell在环境变量无点.时不会执行本目录命令

    要加.\命令./命令
    cmd在环境变量无点.时也可直接执行本目录的程序
    cmd切换其它盘用 cd /d

  3. 执行 mysqld --initialize-insecure --console 无密码安装

    环境变量无点.,也没有添加安装目录到系统环境变量path时的powershell要特别指明命令在当前目录,用.\./

    正反斜杆都可以

powershell 复制代码
.\mysqld --initialize-insecure --console

powershell 复制代码
./mysqld --initialize-insecure --console

powershell 复制代码
.\mysqld.exe --initialize-insecure --console

powershell 复制代码
./mysqld.exe --initialize-insecure --console

cmd运行默认会在当前目录查找,不需要环境变量path带点.

powershell 复制代码
mysqld.exe --initialize-insecure --console

注意: 初始化时,安装文件夹不能有data文件夹, 初始化后会生成data文件夹

  1. 以管理身份运行mysqld --install 安装MySql服务

--install 的两横可以省略, 可以写成 -installinstall

sh 复制代码
mysqld install
sh 复制代码
mysqld -install
sh 复制代码
mysqld --install

执行 mysqld --install 必须要管理员权限 ! ,

可以给服务取名 ,默认的服务名为 mysql

mysqld install 等效 mysqld install mysql

比如可以自定义服务名称为 MysqlServiceName2 👇

sh 复制代码
mysqld install MysqlServiceName2

查看mysqlmysqld命令帮助的命令

sh 复制代码
.\mysql --verbose --help
sh 复制代码
.\mysqld --verbose --help
  1. 启动mysql服务

启动MySQL服务的几种方法

Windows可以用 net start 服务名sc start 服务名sc.exe start 服务名 来启动服务

powershell 复制代码
net start mysql
net start install时自定义的名称

powershell 复制代码
sc.exe start mysql
sc.exe start "mysql"
sc.exe start install时自定义的名称
sc.exe start "有空格 的名称要加引号"

sc 在cmd中可以写成scsc.exe
sc 在powershell中会判定为Set-Content 命令,所以,
sc 在powershell中要写成sc.exe

powershell 复制代码
sc.exe start mysql
powershell 复制代码
Start-Service mysql
powershell 复制代码
Start-Service -Name "mysql"

mysql是MySQL默认的服务名, 可以在执行 mysqld --install 服务名 时指定,

省略服务名mysqld --install , 相当于 mysqld --install mysql
net start mysqlsc start mysql 启动MySQL服务

对应的,停止MySQL服务的几种方法

powershell 复制代码
net stop mysql
powershell 复制代码
sc.exe stop mysql
powershell 复制代码
Stop-Service mysql
powershell 复制代码
Stop-Service -Name mysql

查看服务状态

sc query 服务名 查看服务

powershell 复制代码
sc.exe query mysql
powershell 复制代码
get-service mysql
powershell 复制代码
get-service -Name mysql

停止服务,移除服务,卸载

停止服务
powershell 复制代码
net stop mysql
powershell 复制代码
sc.exe stop mysql
powershell 复制代码
Stop-Service -Name mysql
查看服务状态
powershell 复制代码
sc.exe query mysql
powershell 复制代码
get-service -name mysql
卸载服务

卸载,删除,移除MySQL服务可以用 mysqld --remove MySQL服务名sc delete 服务名

  • mysqld --remove MySQL服务名
  • sc.exe delete 服务名

mysqld是MySQL提供的命令 , sc是Windows提供的命令

mysqld --remove MySQL服务名 移除MySQL服务, 如果不指定服务名, 则服务名=mysql

mysqld --remove相当于mysqld --remove mysql

powershell 复制代码
mysqld --remove
power 复制代码
mysqld --remove mysql
power 复制代码
sc.exe delete mysql
powershell 复制代码
### powershell版本必须大于等于6
Remove-Service -Name mysql

登录

sql 复制代码
./mysql -uroot

创建远程用户

创建remote用户的语句模板

比如创建一个名为remote的用户,可以写在一行,以分号分隔

sql 复制代码
CREATE USER IF NOT EXISTS 'remote'@'%' IDENTIFIED BY 'remote'; GRANT ALL ON *.* TO 'remote'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
创建远程root的语句模板

自带的 root@'localhost' 只能本地登陆,

创建 root@'%' , 并将 root@'localhost' 的权限授予 root@'%'

sql 复制代码
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY '密码'; GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

创建 root@'%' , 并让 root@'%'扮演root@'localhost' 的角色 , 并设置为默认角色

sql 复制代码
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY '密码';
GRANT root@'localhost' TO 'root'@'%'; SET DEFAULT ROLE root@'localhost' TO 'root'@'%';
FLUSH PRIVILEGES;

权限和角色两者都加持

sql 复制代码
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY '密码';
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
GRANT root@'localhost' TO 'root'@'%';
SET DEFAULT ROLE root@'localhost' TO 'root'@'%';
FLUSH PRIVILEGES;

或者直接将 root@localhost 改为 root@%

sql 复制代码
update mysql.user set host='%' where user='root'; flush privileges;
sql 复制代码
UPDATE mysql.user SET host='%' WHERE user='root'; FLUSH PRIVILEGES;
相关推荐
倔强的石头_3 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横3 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二3 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab3 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
小猿姐3 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
ClouGence4 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
云技纵横4 天前
Gap Lock 死锁实战:5 秒在本地复现 MySQL 间隙锁死锁
后端·mysql
无响应de神4 天前
三、用户与权限管理
数据库·mysql
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql