MySQL_建立连接

因为项目的需要,我极不情愿地从sql server转到了mysql

之所以是极不情愿,果然是因为在SSMS的温暖怀抱里面呆得太久了啊,人是会变懒的!!!

好吧既然用了mysql那就索性写点东西下来。
安装mysql我不具体描述了,总体就是下载.zip包->解压->设置环境变量->更改my.ini文件->新建...\data文件夹->管理员命令行配置mysql等等,网上这块的东西不少,而且还没有怎么过期(比如这篇教程)
需要注意的是,我列出的这个百度经验到配置mysql都是没问题的,但后面安装mysql以及启动服务就有问题了!

这里不得不重申一下我的愤怒:网上教程多为重复转载及过期内容!作为一个更新换代如此之快以至于像“apa酒店”、“三星note7爆炸不给国人消费者道歉”等新闻都已经迅速降温消失殆尽的当今中国互联网,技术教程性的文章竟多数过期,真当检讨!

好回到正题,关于我刚才列出的那个百度经验,有几点需要注意的:

  • 安装后启动mysql服务报错3534是因为没有初始化,而且初始化不要在....\bin文件夹中,先用cd命令退回到...\system32文件夹内再初始化+启动mysql服务
  • 解决方法为键入命令:
    • mysqld –remove 注:先删除已安装的mysql服务
    • mysqld –install 注:再重新安装mysql服务
    • mysqld –initialize 注: 一定要初始化
    • net start mysql
    • 成功开启mysql服务

我想写的就是开启服务后无法与mysql新建连接提示错误1045的解决办法

如下图所示

error 1045

错误1045本质上是密码错误禁止访问,我们通过修改root用户密码为自己的密码来达到重置的效果

经过一下午在网上的搜索,我终于总结出了解决方案:

  • 首先,在my.ini文件中加入skip-grant-tables我的my.ini文件是这么写的,记得‘#’要去掉,问题解决后要加上
    我的my-ini文件截图.png

  • 关闭mysql服务:net stop mysql接着重启它net start mysql

  • 输入mysql -h localhost -u root -p来建立本机连接
  • 随便输入什么密码,无所谓
    MySQL_建立连接_第1张图片

  • 键入use mysql;注:分号不能省!!!大概像这样,会返回database changed键入use.png

  • 键入update mysql.user set authentication_string=password("你设置的密码在这里输入") where user="root" ;
    • 这里就显示出来网上教程的过期了,mysql数据库下已经没有password这个字段了,所以原来的mysql> UPDATE user SET password=PASSWORD(‘newpswd’)WHERE user=’root’;命令不管用了!!
    • password字段在mysql5.7版本后已经变成了authentication_string!坑人吧~~~
  • 最后返回的信息应为这种,则已成功修改
    返回的信息.png
  • 编辑my.ini文件注释掉skip-grant-tables这一行
  • 退出.png

    然后关闭MySQL再启动,use net stop mysql and net start mysql,否则MySQL仍能免密码登录

检验效果

MySQL_建立连接_第2张图片

至此,问题解决. peace out :)


visitor tracker
访客追踪插件


你可能感兴趣的:(教程,MySQL)