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;
相关推荐
woshilys23 分钟前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi23 分钟前
SQL注入的那些面试题总结
数据库·sql
建投数据1 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi2 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀2 小时前
Redis梳理
数据库·redis·缓存
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天3 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺3 小时前
分布式系统架构:服务容错
数据库·架构
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu