1 忘记localhost 密码
错误1045(28000):用户’root’@‘localhost’(使用密码:YES)拒绝访问
2 解决方法
首先关闭MySQL,进入cmd 后,输入net stop mysql
在C:\ProgramData\MySQL\MySQL Server 8.0
下找到my.ini
这个文件。注意:在ProgramData
这个隐藏文件夹下面,并不是在Program Files(x86)
或者Program Files
文件夹下面。
打开my.ini
,在[mysqld]后添加skip-grant-tables(使用 set password for设置密码无效,且此后登录无需键入密码)。
这个时候不需要密码就能够进入数据库,并且我在使用pymysql
来获取数据的时候也是ok的,只需要设置'passwd': ''
。但是使用Navicat
来查看数据的时候,经常会有警告access violation at address。。。。。
,并且我在访问公司的远程数据库的时候,Navicat
一直没法进行正常连接,不知道是不是因为my.ini
文件的问题,最好还是使用密码来登录MySQL。
重启MySQL服务器。在cmd 中输入net start mysql
。登录MySQL,键入mysql –uroot –p;
,还会提示输入密码,但无需输入直接回车(Enter)。键入无效set password for ‘root’@‘localhost’=password(‘123456’);
,新版的MySQL语句有所不同,需要输入alter user 'root'@'localhost' identified by '123456';
。
再把my.ini
的skip-grant-tables
删除,然后重启MySQL服务器:net stop mysql
;net start mysql
。再次进行设置密码:set password for ‘root’@‘localhost’=password(‘123456’);
或者alter user 'root'@'localhost' identified by '123456';
.然后就正常了!
skip-name-resolv #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时候。但是需要注意的是,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式了,否则MySQL将无法正常处理连接请求!
这个还不是很懂。。。。
3 导入数据
net start mysql
create database waiting_time
use waiting_time
source sql文件所在位置
4 MySQL 服务正在启动 MySQL 服务无法启动解决途径
1.删除自己手动创建的data文件夹;
2.管理员权限CMD的bin目录下,移除已错误安装的mysqld服务;
mysqld -remove MySQL
出现删除成功!
3.在CMD的bin目录下执行mysqld --initialize-insecure
会发现程序在mysql的根目录下自动创建了data文件夹以及相关的文件
4.bin目录下执行mysqld -install
出现Service successfully installed.
5.bin目录下执行mysql服务启动net start mysql
MySQL 服务正在启动 …
MySQL 服务已经启动成功。
MySQL 服务正在启动 MySQL 服务无法启动解决途径
参考资料:
-https://blog.csdn.net/qq_36675754/article/details/81381341?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
-https://blog.csdn.net/weixin_44341938/article/details/101684573
-https://blog.csdn.net/weixin_37887248/article/details/80897230
-https://www.cnblogs.com/Kitty-/p/11632551.html