zoukankan      html  css  js  c++  java
  • navicat for mysql连接本地数据库

          navicat for mysql连接本地数据库

       打算使用navicat连接本地数据库,连接的时候,一直连接不上。然后猜想是不是本地数据库没有设置好。输入mysql,出错内容:access denied for user root @localhost 。查阅了一波资料,大概意思是用户root没有使用密码访问localhost主机时被拒绝。(数据库默认账号密码是root ""空字符串)

      解决的办法: 

        第一步: 编辑mysql配置文件my.ini ,在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql。那如何知道我们的这个配置文件的位置呢,操作如下:运行,输入   services.msc 然后在打开的"服务管理器"中找到mysql并双击,会弹出来个属性框框,"常规"选项卡里面有个"执行路径",从这个路径你就可以看到它的bin目录在哪,以及这个my.ini文件的位置了。还有通过这个步骤,我们发现服务的名称为“MYSQL57”, 所以启动和关闭服务,应该使用 net start mysql57 以及 net  stop mysql57 (网上一遍都是net start mysql),我们要根据实际名称运行。

        第二步:这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。

        第三步: 进入mysql数据库, mysql> use mysql;  Database changed 

        第四步:  网上很多是给root用户设置新密码,是使用update user set password=password("新密码") where user="root";  会报错Unknown column 'password' in 'field list。

        查找资料,原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string 。因此终端输入 mysql 直接登录MySQL数据库,然后use mysql,接着update mysql.user set authentication_string=password('密码名称') where user='root'这样密码就设置好了。

        第五步: .刷新数据库 flush privileges;

        第六步: 退出mysql ,输入quit;  然后再修改一下my.ini这个文件,把我们刚才加入的 "skip-grant-tables"这行删除,保存退出再重启mysql就可以了。

        第七步: 输入mysql -uroot -p 回车, 输入我们设置好的密码。进入就可以开始快乐的玩耍了。

        补充一些常用语句:  show databases; (注意后面的分号一定要,否则不执行)  显示所有的数据库

                 use <数据库名>  使用这个数据库  ,然后屏幕会显示Database changed .

                  如果我们想使用其他数据库,直接use 数据库名称,就可以使用其他数据库了,也很方便。

                  参考文献: https://blog.csdn.net/better_space/article/details/53523353

  • 相关阅读:
    【并发编程】并发编程随笔索引
    主题记录
    Java技术栈思维导图
    【ES 6.5.4 】ElasticSearch知识点
    Logstash Oracle同步设置
    【ES】【Reference 7.8 译】官方文档Mapping说明
    【ES】【Java High Level REST Client】官方索引和文档操作指导
    【ES】JAVA集成ES与基本操作及官方查询指导
    【实践】Effective Java实践总结
    【MyBatis】Spring集成MyBatis示例
  • 原文地址:https://www.cnblogs.com/cleaverlove/p/8653012.html
Copyright © 2011-2022 走看看