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
错误
Linux 下找不到 mysql.sock:这种错误应该是服务开启不成功
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