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;
相关推荐
tatasix32 分钟前
MySQL UPDATE语句执行链路解析
数据库·mysql
蓝田~33 分钟前
观察者模式和订阅模式
windows·观察者模式
南城花随雪。1 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了1 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度1 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
天海华兮1 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
gma9992 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️2 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
Yz98762 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
武子康2 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql