MySQL更换路径带来的问题,2003+1045+更换密码

一顿瞎操作带来的后果

  • 在学到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

卸载

  • 卸载也是得百度的,要不然删不干净,重新安装不了

  • 如果已经将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)

看了好多博客,很多,根本不知道哪个是哪个,再找就麻烦了,就不推荐了,自己百度||谷歌搜,第一页都可以看看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值