相关疑难解决方法(0)

无法在ubuntu 16上使用--skip-grant-tables重置root密码

我试图在MysqlPasswordReset之后重置root密码但是当我尝试使用--skip-grant-tables启动服务器时服务器无法启动

  • Ubuntu 16.04.1 LTS(GNU/Linux 4.4.0-59-generic x86_64)
  • mysql Ver 14.14 Distrib 5.7.17,适用于Linux(x86_64)

服务器正在运行

$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Run Code Online (Sandbox Code Playgroud)

停止服务器

$ sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
Run Code Online (Sandbox Code Playgroud)

尝试从--skip-grant-tables开始

sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 9856
Run Code Online (Sandbox Code Playgroud)

没有密码连接

$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
[1]+  Exit 1                  sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
Run Code Online (Sandbox Code Playgroud)

我也尝试从mysql_safe开始(error.log为空)

sudo mysqld_safe --skip-grant-tables
2017-02-01T16:33:31.382105Z …
Run Code Online (Sandbox Code Playgroud)

mysql ubuntu change-password root ubuntu-16.04

37
推荐指数
3
解决办法
4万
查看次数

pid文件/var/run/mysqld/mysqld.pid中的mysqld_safe mysqld阻止服务器重启

我在CentOS上的mySQL服务器一直可以正常工作,但是,我今天无法突然重新启动mysqld。

1)#/etc/rc.d/init.d/mysqld启动

显示[失败]

2)查看日志

tail /var/log/mysqld.log 
.
.
mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Run Code Online (Sandbox Code Playgroud)

3)手动放

 /usr/bin/mysqld_safe

151129 15:54:36 mysqld_safe Logging to '/var/log/mysqld.log'.
151129 15:54:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
151129 15:54:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Run Code Online (Sandbox Code Playgroud)

4)检查配置

less /etc/my.cnf

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Run Code Online (Sandbox Code Playgroud)

5)检查mysql目录,每个所有者的船都属于mysql。但是我不能对mysql.sock进行罚款(这在my.cnf中设置)

cd /var/lib/mysql?
ls -la

drwxr-xr-x  5 mysql mysql     4096 11? 29 …
Run Code Online (Sandbox Code Playgroud)

mysql linux centos

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

mysql ×2

centos ×1

change-password ×1

linux ×1

root ×1

ubuntu ×1

ubuntu-16.04 ×1