- 1. 彻底删除卸载MySQL(如果未安装过,可忽略)
- 2. 去官网下载mysql-8.0.21-winx64.zip安装包解压到指定目录(C:\Program Files\mysql-8.0.21)
- 3. 使用管理员身份打开cmd.exe(C:\Windows\System32\cmd.exe), 进入mysql解压目录(C:\Program Files\mysql\bin)
- 4. 初始化mysql (C:\Program Files\mysql\bin), 随机生成密码,会打印到控制台,找地方存下来 (root@localhost: wq%aSsKsh2Cj 不带前面空格)
- 5. MySQL 8.X 的版本如果密码忘记了,可尝试以下方法
- 6.MySQL 8.X 以前的版本如果密码忘记了,可尝试以下方法
1. 彻底删除卸载MySQL(如果未安装过,可忽略)
1》停止MySQL服务
开始-》所有应用-》Windows管理工具-》服务,将MySQL服务停止。
2》卸载mysql server
控制面板\所有控制面板项\程序和功能,将mysql server卸载掉。
3》将MySQL安装目录下的MySQL文件夹删除(我的安装目录是C:\Program Files (x86)\MySQL)
4》运行“regedit”文件,打开注册表。
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。
删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹。
如果没有相应的文件夹,就不用删除了。
5》删除C盘下的“C:\ProgramData\MySQL ”文件夹,如果删除不了则用360粉碎掉即可,
该programData文件默认是隐藏的,设置显示后即可见,或者直接复制 C:\ProgramData 到地址栏回车即可进入!
将整个MySQL文件夹删除掉。。。
6》开始-》所有应用-》Windows管理工具-》服务
如果已经将MySQL卸载,但通过“开始-》所有应用-》Windows管理工具-》服务”查看到MySQL服务仍然残留在
系统服务里。又不想改服务名,改怎么办呢。
只要在CMD里输入一条命令就可以将服务删除:
sc delete mysql //这里的mysql是你要删除的服务名
这样一来服务就被删除了。
2. 去官网下载mysql-8.0.21-winx64.zip安装包解压到指定目录(C:\Program Files\mysql-8.0.21)
在mysql根目录下创建my.ini文件,文件内容如下::
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\mysql-8.0.21
# 数据库的数据的存放目录(这个Data目录千万不要手动创建,否则报错)
datadir=C:\Program Files\mysql-8.0.21\Data
# 允许最大连接数
max_connections=1024
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
3. 使用管理员身份打开cmd.exe(C:\Windows\System32\cmd.exe), 进入mysql解压目录(C:\Program Files\mysql\bin)
1. 卸载历史服务
# mysqld remove xxx(已经配置的服务名)
mysqld remove mysql
sc delete mysql
2. 如果历史原因导致莫名其妙的安装失败,可以试试第一个的彻底删除卸载MySQL
4. 初始化mysql (C:\Program Files\mysql\bin), 随机生成密码,会打印到控制台,找地方存下来 (root@localhost: wq%aSsKsh2Cj 不带前面空格)
# 初始化
mysqld --initialize --console
# 服务安装
mysqld install 服务名称(自定义,可以用mysql8, mysql)
# 服务启动
net start mysql
# 服务关闭
net stop mysql
5. MySQL 8.X 的版本如果密码忘记了,可尝试以下方法
1. 在命令行中使用启动服务器
%mysql_home%/mysqld --console --skip-grant-tables --shared-memory
2. 再打开一个窗口免密登录(工2个CMD窗口)
%mysql_home%/mysql -uroot -p
# 登陆后,首先刷新下权限;
flush privileges;
# 修改密码
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
# 再次刷新权限
flush privileges;
# 改完之后退出
exit
3. 修改完密码后,关闭MySQL服务,使用正常模式重启即可(net start mysql)
6.MySQL 8.X 以前的版本如果密码忘记了,可尝试以下方法
在my.ini中加入skip-grant-tables
[mysqld]
skip-grant-tables
输入net start mysql 启动后可以免密登录