连接mysql数据库,报错ERROR 1045 (28000)和ERROR 1698 (28000)问题

执行 mysql -uroot -p
报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
原因:安装完mysql的时候没有设置密码
解决原因:

           1.linux系统--->找到 my.conf文件(vim /etc/mysql/my.cnf)
              windows系统--->找到my.ini
            2.添加 
            [mysqld]
            skip-grant-tables   # 这个内容是跳过验证,直接进入mysql
            3.保存修改信息,重启mysql
            重启命令:
            service mysql restart   
            4.进入mysql
            mysql 
            5.执行更改密码命令
              mysql> use mysql;
              -----------------------------------------  
              修改密码部分:
              mysql> update user set password=password('你的新密码') where user='root' and host='localhost';  
              或者
              mysql> update mysql.user set authentication_string=password('你的新密码') where user='root' and Host = 'localhost';
              注意:新版的mysql数据库下的user表中已经没有Password字段了,而是将加密后的用户密码存储于authentication_string字段
              -----------------------------------------
              mysql> flush privileges; 
              mysql>quit
            6.将MySQL配置文件中的修改内容还原
              注释掉
              skip-grant-tables
              
报错:ERROR 1698 (28000): Access denied for user 'root'@'localhost' --->使用普通用户登录的时候会出现这种错误
原因是:root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password
解决方法:进入mysql
        mysql>use mysql;
        mysql>update mysql.user set plugin='mysql_native_password' where user='root';
        重启mysql服务器
        service mysql restart

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值