DataBase - 安装、使用MySql中遇到的一系列问题

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)

猜你喜欢

转载自blog.csdn.net/qq_20451879/article/details/105973312