安装步骤和遇到的问题
参考:https://blog.csdn.net/weixin_42474227/article/details/80717163
菜鸟教程:https://www.runoob.com/mysql/mysql-administration.html
问题1:Windows下命令行模式中cd命令没有生效?
例如:
当我们想切换到 D:\MySql\mysql-5.7.19-winx64\bin 路径 ,理所当然的输入cd D:\MySql\mysql-5.7.19-winx64\bin 回车后,界面上路径并没有改变
解决:
方法一:
输入完上面命令后,再输入D:
回车后,路径即成功的切换到我们想要到的路径
方法二:
直接输入cd /dD:\MySql\mysql-5.7.19-winx64\bin
从当前目录下跳转到不同分区路径d:\的时候,cd d:\没有成功,当前目录没有发生改变;当添加了一个参数 /d 之后,命令成功地执行了。
原来,要跳转到不同分区的时候,需要添加强制跳转参数 /d 。
但是,如果进入的是当前目录的子目录,则可以不使用 /d 参数。这一点是很容易被大家忽略的。
问题2:安装时,mysql服务启动后自动关闭。
以下情况都是一个类型:
——上图的信息是输出在了控制台上,也可以在data下的.err后缀文件中查看。
查了很多博客,终于找到问题所在:
解决:把my.ini文件里的skip-grant-tables这一行注释掉,重启mysql服务就行了。其实这一行是我自己加上的,为了解决root用户登录的报错,据说可以免密,没想到带来了新的麻烦。所以不用了。
问题3:过去的Mysql删不干净。
都说这个问题会带来很大麻烦,我不知道自己的一些问题是不是因为这个,反正全删了一遍。
解决:
(1)控制面板—>程序和功能,卸载mysql server! 这个我之前用软件管家删的。
删除本地计算机的mysql服务。如图,之后,本地服务中已找不到MySQL。
(2)然后删除mysql文件夹下的my.ini文件及所有文件。过去安在了默认路径,如图,删去。
(3)在运行中运行“regedit”文件,如图,打开注册表,删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。
(第二个我没有)
(4)删除C盘下的“C:\ProgramData\MySQL ”所有文件,如果删除不了则用360粉碎掉即可,该programData文件是隐藏的默认,设置显示后即可见,或者直接复制上边的地址到地址栏回车即可进入!删除后重启电脑,重装MYsql数据库应该就成功了(重启有什么用吗?)。
另外:以下命令用于删除本地计算机mysql的服务。之后已找不到此服务了。
与之对应的是mysql服务的初始化安装,见上面教程,该自建一个空的data目录,或没有让他自动产生,注意之前data目录里不能有东西。
报错
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
解决:这个错跟密码有关,之前初始化时会出现相关的随机密码,把它填对了。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set password for ‘root’@localhost
参考:https://blog.csdn.net/weixin_43645330/article/details/83869490
我修改root密码遇到的以上错误跟该网址的一模一样。
解决:只有这两种方式不会报错。
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘986878116’;
Query OK, 0 rows affected (0.56 sec)
mysql> SET PASSWORD = ‘123’;
Query OK, 0 rows affected (0.19 sec)
问题4:用navicat连接数据库时报错。
原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。可是目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。
解决:
mysql -uroot -ppassword #登录
use mysql; #选择数据库
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新用户密码
FLUSH PRIVILEGES; #刷新权限配置项