Access denied for user ‘root’@‘localhost’ or Linux 下找不到 mysql.sock

Ubuntu 下 开启 MySQL

在Ubuntu下开启MySQL常见的两个坑:

1 Linux 下找不到 mysql.sock

2 Access denied for user ‘root’@‘localhost’


安装

Ubuntu下安装MySQL,参考:https://www.cnblogs.com/EasonJim/p/7147787.html

开启

service mysql start

错误

  1. Linux 下找不到 mysql.sock:这种错误应该是服务开启不成功

  2. Access denied for user ‘root’@‘localhost’:这种错误是密码有误

解决方案

Ubuntu下安装MySQL,初始时root密码是随机的,需要先进行设置;

1. 修改root密码

(a)从安全模式进入mysql,进入到mysql根目录(–skip-grant-table 跳过授权表,直接登录mysql)

cd /usr/bin
./mysql_install_db
./mysqld_safe –skip-grant-tables &

(b)进入mysql,修改root密码

mysql
use mysql;
show tables;
select * from user;
select Host, user, authentication_string, password_expired from user
update user set authentication_string=’root’, password_expired=’N’ where user=’root’
flush privileges;
exit;

mysql.user这张表就是存的用户信息,password_expired 字段是是否密码过期,如果按照本文方法还不行,可以再观察其他字段的含义,看看是那些字段需要修改

(c)关闭安全模式

jobs;
kill %x

2. 重启

service mysql start
mysql -u root -p root

如果报错:Access denied for user ‘root’@‘localhost’,则尝试将root密码置空,具体方法是关闭服务

service mysql stop

重复 步骤 1, 其中

update user set authentication_string=”, password_expired=’N’ where user=’root’

重启应该可以登录了

service mysql start
mysql -u root

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值