一顿瞎操作带来的后果
- 在学到jisp的时候又用到了数据库,但是当我打开cmd想要运行MySQL的时候,服务启动失败。。。
- 第一时间想到,win+r 输入Services.msc打开服务,然后再这里启动服务,依旧是失败。。。提示一模一样找不到路径。我就懵逼了,然后win+e打开文件管理器,找了一下MySQL,最后在一个我放软件的地方找到了。结合之前的报错,我就知道了,我把人家从原来位置移了过来,但是服务还有其他的my.ini文件的路径都是原来的,这肯定报错。到这里,其实把MySQL移到原来的位置就好了,但是我没有。。。
- 我居然没有,现在想来真是后悔,我想把路径改成当前的路径,于是就开始了胡改,跟着记忆中的安装方法改。。。然后很顺利的失败了
- 于是只能百度搜了,搜为什么MySQL服务启动不了。。。
- 按照搜到的方法,打开win+r 输入Services.msc,找到MySQL,右键打开属性,下图是我重新卸载安装之后的,接着上面的讲,让我看可执行文件路径是不是和MySQL安装路径匹配,
然后在登录要选,本地系统账户,允许
我照着做了,要改可执行的路径得再注册表改
再搜索框输入regedit 搜索HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL双击打开可以更改路径
成功的可以启动服务了,但是又有新的问题 2003 ,这个是找不到路径,我的my.ini也还没有改过来路径,改了之后又报1045密码错误。。。可我记得密码就是root但是报了错。于是百度一顿搜,没看懂怎么操作,只能卸载重新安装。
安装
卸载
-
卸载也是得百度的,要不然删不干净,重新安装不了
-
如果已经将MySQL卸载,但通过开始 -》所有应用 -》Windows管理工具 -》服务查看到MySQL服务仍然残留在系统服务里。
又不想改服务名,改怎么办呢。
只要在CMD里输入一条命令就可以将服务删除:
sc delete mysql
//这里的mysql是你要删除的服务名
这样一来服务就被删除了。 -
我就是又自己删的,然后重新解压安装,在cmd安装服务,提示已经安装。。。于是又懵逼了,只能再次搜索,,按着人家的步骤删除,成功安装了。但是服务莫名其妙的启动不了。。。继续搜索,我的是zip格式下载,第一次安装MySQL的时候,data文件夹是自己新建的,直到发现一篇博客说,
mysqld --initialize
可以自己初始化,然后自动创建data。我那完全不知道为什么之前可以现在不行。只能照着这个来,于是就给莫名其妙的解决了,可以启动了。 -
继续登录,发现还是报1045 密码错误 。。。这个是真难受,白卸载安装一次。。。只能再次搜索,,,怎么改密码,试了好多次,在my.inf 的[mysqld]之后随便哪里加上一句
skip-grant-tables
,然后重新启动服务器 – 这里是重点 , 一定是重启 ,要不然是启动不了的 -
这样输入
mysql -u root -p
进入让你输入密码 直接回车跳过 ,成功进入,说是安全模式。。
更换密码
-
1.进入mysql数据库:
mysql> use mysql;Database changed
2.给root用户设置新密码:mysql>update user set password=password("123456") where user="root";
Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0
但是有时候会报错Unknown column 'password' in 'field list'
“字段列表”中的未知列“密码”
所以更改语句替换为update user set authentication_string=password('root') where user='root' ;
版本问题: mysql早前的版本user表有password字段,5.7为authentication_string。
3.刷新数据库mysql>flush privileges;
Query OK, 0 rows affected (0.01 sec)
若不执行3,则ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 错误。4.退出mysql:mysql>
quit
Bye -
在找到my.ini删掉那句代码,重启服务。再登录一下,成功则成功,失败就继续搜
-
navicat for mysql
-连接失败报: to log in you must change it using a client that supports expired passwords -
问题描述 按照上面的操作修改完密码命令行是可以登录的,但是图形化界面报了上面的错误
-
解决办法 在命令行登录进去之后,再次修改密码
mysql> set password = password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)
看了好多博客,很多,根本不知道哪个是哪个,再找就麻烦了,就不推荐了,自己百度||谷歌搜,第一页都可以看看