2021-05-08更新
使用解压版和安装版尝试了很多次都失败
1,先设置下环境变量,后续方便以管理员身份运行
2, 创建my.ini 值下面有, 执行 mysqld --initialize-insecure (此命令用于生成data目录)
3,执行完mysqld -install 后,ctrl + r 输入 services.msc 打开服务看下MYSQL 服务有没有启动,打开属性,看下可执行文件路径是否是你本地的
4,ctrl + r 输入 regedit 打开注册表,计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL 看看注册表中的ImagePath的值是否是你本地
检查完上面的如果有不对的
mysqld --remove 移除mysql 服务 重新再试试,没有好的方法
密码重置参考
https://www.cnblogs.com/zhurong/p/9898675.html
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
alter user 'root'@'localhost' identified by '111111';
=================================================================================
今天在新的机器上安装mysql-8.0.13出错,简单记录下(有错可以留言指正,看到了会帮助解决,共勉!)
错误如下:
========================================
解压后,创建my.ini ,复制以下内容,保存退出
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir=D:\mysql\mysql-8.0.13-winx64
#设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-8.0.13-winx64\data
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
explicit_defaults_for_timestamp=true
default-storage-engine=INNODB
[WinMySQLAdmin]
Server=D:\mysql\mysql-8.0.13-winx64\bin\mysqld.exe
上代码
管理员身份运行cmd
进入 D:\mysql\mysql-8.0.13-winx64\bin
1、首先安装mysqld服务器,输入命令:mysqld --install
现在就安装好了
2、接下来就是启动服务器了,输入命令:net start mysql
有些人到这可能就OK了,如果不行,执行下面的
(执行后如果还是不行,建议将my.ini 里面的 port=3306 注释或者删除,然后net stop mysql 、net start mysql 重启下,如果不行,那就net stop mysql、mysqld -remove 重新开始) 这地方有坑!
3、输入命令:mysqld --initialize-insecure (此命令用于生成data目录)
完了再次输入:net start mysql
打开data目录,找到xxxxxx.err 打开, 在第三行这样可以看到
root@localhost is created with an empty password !
表示不需要密码进入
mysql -u root 或者 mysql -u root -p , 输入密码时直接enter 就行
mysql>use mysql
Navicat 直接连接 mysql 改密码,编辑用户---保存,就更改密码了
Navicat 连接有可能会 提示2059 - authentication plugin 'caching_sha2_password, 不要慌,执行下面代码就行了
mysql>use mysql;
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new password';
mysql>FLUSH PRIVILEGES;
再次使用Navicat 连接就不会报错了!