在系统环境变量path
无点.
的情况下
powershell
可以.\
或./
开头表示当前文件夹cmd
可以直接命令或.\
开头, 不能./
开头
所以.\
在cmd和powershell中通用
步骤
- 在解压目录
.\mysqld --initialize-insecure
root无密码初始化 .\mysqld install
安装服务net start mysql
启动MySQL服务.\mysql -uroot
登录CREATE USER IF NOT EXISTS 'remote'@'%' IDENTIFIED BY 'remote'; GRANT ALL ON *.* TO 'remote'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
创建远程用户net stop mysql
停止服务.\mysqld remove
移除服务- 拷贝整个解压安装目录到另一个文件夹, 或者换个电脑, 实现数据迁移 , 同版本同配置可只拷贝data文件夹
.\mysqld install
安装服务.\net start mysql
启动MySQL服务
win11安装mysql8.3.0压缩包版 240206
解压安装初始化启动服务
-
解压到自定义安装目录
-
以管理员身份运行powershell或cmd进入安装目录
powershell
在环境变量无点.
时不会执行本目录命令要加
.\命令
或./命令
cmd
在环境变量无点.
时也可直接执行本目录的程序
cmd
切换其它盘用cd /d
-
执行
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
文件夹
- 以管理身份运行
mysqld --install
安装MySql服务
--install
的两横可以省略, 可以写成 -install
或 install
sh
mysqld install
sh
mysqld -install
sh
mysqld --install
执行 mysqld --install
必须要管理员权限 ! ,
可以给服务取名 ,默认的服务名为 mysql
mysqld install
等效 mysqld install mysql
比如可以自定义服务名称为 MysqlServiceName2 👇
sh
mysqld install MysqlServiceName2
查看mysql
和mysqld
命令帮助的命令
sh
.\mysql --verbose --help
sh
.\mysqld --verbose --help
- 启动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中可以写成sc
或sc.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 mysql
或 sc 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;