- Look Here:此篇基于 MySql 8.0 ,如没有配置MySql的环境变量 ,任何cmd命令均需进入到MySql → bin 目录下执行
- And Here:业余小技巧
- MySQL启动服务时提示"服务名无效"
- MySQL 服务无法启动 & 服务没有报告任何错误
- You must reset your password using ALTER USER statement before executing this statement.
- Install/Remove of the Service Denied!
- 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
- 启动MySQL报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
- MySql5.7 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before
Look Here:此篇基于 MySql 8.0 ,如没有配置MySql的环境变量 ,任何cmd命令均需进入到MySql → bin 目录下执行
And Here:业余小技巧
Windows cmd 命令行清空
因一直在使用cmd试错,不知不觉太多操作,导致看起来不方便,特出此项 ~
cls
# 一般如斯,此命令只能用于未进入mysql前,如果前缀是 mysql> 那么你cls是没用的 ~
C:\WINDOWS\system32>cls
mysql 命令快速退出 -> 循环
问题如下
解决方式
命令尾部加 ; (你没有看错就是加 ; 号!在mysql语句中 ; 代表结尾)
;
# 一般如斯
show databases;
结果如下
cmd中退出mysql
# too young , too simple
exit
# 一般如斯
mysql> exit
MySQL启动服务时提示"服务名无效"
net stop mysql \ net start mysql
错误信息
MySql服务没有安装
解决方式
管理员方式打开cmd命令
#cmd命令
mysqld --install
扩展命令
# 关闭mysql服务
net stop mysql
# 卸载mysql服务
mysqld -remove
MySQL 服务无法启动 & 服务没有报告任何错误
错误信息
MySQL 服务正在启动
MySQL 服务无法启动
服务没有报告任何错误
请键入 NET HELPMSG 3534 以获得更多的帮助
解决方式
1.停止服务
#cmd命令
net stop mysql
2.查看MySQL内是否有data文件夹
- 有:清空data文件夹内的全部内容
- 无:新建data文件夹
3.初始化基础配置
#cmd命令
mysqld --initialize
4.启动服务
#cmd命令
net start mysql
如还报此错,需检查以下配置
1.是否配置Mysql的环境变量?是否在bin目录下执行的cmd命令?是否是管理员方式打开的cmd?
2. .ini文件是否配置basedir (mysql所在目录) ?datadir(mysql所在目录\data) ?
You must reset your password using ALTER USER statement before executing this statement.
在执行此语句之前,必须使用ALTER USER语句重置密码。
错误信息
首次安装MySQL后,也是首次进入mysql后,如果需要其他操作,在这之前首先需要重置初始密码,这个业务逻辑狠常见 ~
You must reset your password using ALTER USER statement before executing this statement.
解决方式
#首次进入重置密码
alter user 'root'@'localhost' identified by 'password';
#或 (二选一即可)
mysql> set password=password("password");
# 有的人会刷新权限,有的不会,例如我,在设置密码之后重启服务重新使用新密码登录
mysql> flush privileges;
Install/Remove of the Service Denied!
安装mysql 所遇报错 ~
错误信息
Install/Remove of the Service Denied
如图
解决方式
打开cmd.exe程序的时候选择“用管理员身份打开” ,具体操作如图所示(Window10)
再次执行mysqld install ,大功告成 ~
本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
错误信息
如图
解决方式
1.删除原服务
# 删除原来服务
mysql --remove mysql(一般为自定义)
2.在MySql的根目录下, 清空data目录
如果没有data目录,请自行创建一个空目录,起名为data ~
3.初始化
# ini文件地址(每个人的安装目录和ini文件名不同!别安全copy):C:\Program Files\MySQL Server 8.0\mysql.ini
mysqld --install mysql --defaults-file=C:\Program Files\MySQL Server 8.0\mysql.ini
4.以管理员的身份执行启动服务命令
net start mysql
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO/YES)
错误信息
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost'(using password: NO)
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost'(using password: YES)
解决方式
Mysql 5.6及以后版本出处于安全考虑,root密码不为空;
重点:所以在MySQL的安装过程中,会生成一个随机密码作为初始密码;
如果方式一可解决问题,不需要看方式二(曲线救国)
方式一
此方案对我无效
1.打开 MySQL → .ini 文件 → mysqld下添加skip-grant-tables,保存退出
[mysqld]
skip-grant-tables
如图
2.打开管理员运行的cmd命令,重启服务
#停止服务
net stop mysql
#启动服务
net start mysql
3.登录mysql,修改密码
# 出现password:的时候直接回车可以进入
mysql -u root -p
Enter password:
# 更新root密码
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
# 修改权限
mysql> FLUSH PRIVILEGES;
# 退出
mysql> quit
4.打开 MySQL → .ini 文件 → mysqld下删除之前新增的skip-grant-tables,保存退出
5.重启mysql
#停止服务
net stop mysql
#启动服务
net start mysql
6.root用户使用新密码进行登录
mysql -u root -p
Enter password: <输入新设的密码newpassword>
方式二
1.MySQL → data → .err → A temporary password is generated for root@localhost: 此处就是生成的随机密码(图中的 pfwu;999rhoP 就是我生成的随急密码了)
2.重启服务后登录mysql
#停止服务
net stop mysql
#启动服务
net start mysql
#登录mysql - pfwu;999rhoP 这里就是上图自动生成的随机密码
mysql -u root -p
Enter password:pfwu;999rhoP
3.登录成功,问题解决
启动MySQL报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)
错误信息
新手首次安装常见错误,服务连接不到 ~
解决方式
从服务中将MySql的服务设置为启动,或关闭此服务从cmd进行启动
如找不到此项服务,通过 mysqld -install 进行安装,然后启动 ~
#启动服务
net start mysql
MySql5.7 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before
此部分只是因为正好看到了关于这项错误的一篇文章,虽然争对的是5.7的版本,但是本着杀错不放错的原则也进行一下记录 ~
错误信息
初始化密码报错 ~
解决方式
因在该版本的密码是有校验规则的,所以争对此项有一些配置修改
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
validate_password_length(密码长度)参数默认为8,我们修改为1
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
完成之后再次执行修改密码语句即可成功
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)