1. 彻底删除卸载MySQL(如果未安装过,可忽略)

  1. 1》停止MySQL服务
  2. 开始-》所有应用-》Windows管理工具-》服务,将MySQL服务停止。
  3. 2》卸载mysql server
  4. 控制面板\所有控制面板项\程序和功能,将mysql server卸载掉。
  5. 3》将MySQL安装目录下的MySQL文件夹删除(我的安装目录是C:\Program Files (x86)\MySQL
  6. 4》运行“regedit”文件,打开注册表。
  7. 删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
  8. 删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。
  9. 删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹。
  10. 如果没有相应的文件夹,就不用删除了。
  11. 5》删除C盘下的“C:\ProgramData\MySQL ”文件夹,如果删除不了则用360粉碎掉即可,
  12. programData文件默认是隐藏的,设置显示后即可见,或者直接复制 C:\ProgramData 到地址栏回车即可进入!
  13. 将整个MySQL文件夹删除掉。。。
  14. 6》开始-》所有应用-》Windows管理工具-》服务
  15. 如果已经将MySQL卸载,但通过“开始-》所有应用-》Windows管理工具-》服务”查看到MySQL服务仍然残留在
  16. 系统服务里。又不想改服务名,改怎么办呢。
  17. 只要在CMD里输入一条命令就可以将服务删除:
  18. sc delete mysql //这里的mysql是你要删除的服务名
  19. 这样一来服务就被删除了。

2. 去官网下载mysql-8.0.21-winx64.zip安装包解压到指定目录(C:\Program Files\mysql-8.0.21)

在mysql根目录下创建my.ini文件,文件内容如下::

  1. [mysqld]
  2. # 设置3306端口
  3. port=3306
  4. # 设置mysql的安装目录
  5. basedir=C:\Program Files\mysql-8.0.21
  6. # 数据库的数据的存放目录(这个Data目录千万不要手动创建,否则报错)
  7. datadir=C:\Program Files\mysql-8.0.21\Data
  8. # 允许最大连接数
  9. max_connections=1024
  10. # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
  11. max_connect_errors=10
  12. # 服务端使用的字符集默认为UTF8
  13. character-set-server=utf8
  14. # 创建新表时将使用的默认存储引擎
  15. default-storage-engine=INNODB
  16. # 默认使用“mysql_native_password”插件认证
  17. default_authentication_plugin=mysql_native_password
  18. [mysql]
  19. # 设置mysql客户端默认字符集
  20. default-character-set=utf8
  21. [client]
  22. # 设置mysql客户端连接服务端时默认使用的端口
  23. port=3306
  24. default-character-set=utf8

3. 使用管理员身份打开cmd.exe(C:\Windows\System32\cmd.exe), 进入mysql解压目录(C:\Program Files\mysql\bin)

1. 卸载历史服务

  1. # mysqld remove xxx(已经配置的服务名)
  2. mysqld remove mysql
  3. sc delete mysql

2. 如果历史原因导致莫名其妙的安装失败,可以试试第一个的彻底删除卸载MySQL

4. 初始化mysql (C:\Program Files\mysql\bin), 随机生成密码,会打印到控制台,找地方存下来 (root@localhost: wq%aSsKsh2Cj 不带前面空格)

  1. # 初始化
  2. mysqld --initialize --console
  3. # 服务安装
  4. mysqld install 服务名称(自定义,可以用mysql8, mysql)
  5. # 服务启动
  6. net start mysql
  7. # 服务关闭
  8. net stop mysql

5. MySQL 8.X 的版本如果密码忘记了,可尝试以下方法

1. 在命令行中使用启动服务器

  1. %mysql_home%/mysqld --console --skip-grant-tables --shared-memory

2. 再打开一个窗口免密登录(工2个CMD窗口)

  1. %mysql_home%/mysql -uroot -p
  2. # 登陆后,首先刷新下权限;
  3. flush privileges;
  4. # 修改密码
  5. alter user 'root'@'localhost' identified with mysql_native_password by '123456';
  6. # 再次刷新权限
  7. flush privileges;
  8. # 改完之后退出
  9. exit

3. 修改完密码后,关闭MySQL服务,使用正常模式重启即可(net start mysql)

6.MySQL 8.X 以前的版本如果密码忘记了,可尝试以下方法

在my.ini中加入skip-grant-tables

  1. [mysqld]
  2. skip-grant-tables

输入net start mysql 启动后可以免密登录