LoginSignup
2
2

More than 5 years have passed since last update.

Ubuntuのmysqlのエラー(ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: YES))

Last updated at Posted at 2018-04-24

Ubuntu16.04mysqlのインストール後エラーが起きたのでメモ

やり方 

mysqlのプロセスを停止

bash
sudo systemctl stop mysql

他のサイトとかでも解決しなかった人は、別のプロセスが起動していると思うので、強制終了

bash
sudo ps aux|grep mysql
> root      5321  0.0  0.1   4508  1640 ?        S    Apr23   0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
> mysql     5681  0.0 17.9 1151340 180240 ?      Sl   Apr23   0:09 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --log-syslog=1 --log-syslog-facility=daemon --log-syslog-tag=
> xxxx      8669  0.0  0.0  14224   984 pts/0    S+   01:51   0:00 grep --color=auto mysql

上で出てきたPIDをkill

bash
sudo kill 5321
sudo kill 5681
sudo kill 8669

mysqlをセーフモードで起動

bash
mysqld_safe --skip-grant-tables &

もし失敗したら

  1. 起動していたプロセスをkill
  2. 以下を実行して、もう一回
bash
sudo mkdir -p /var/log/mysql
sudo chown mysql:mysql /var/log/mysql
bash
sudo ps aux|grep mysql
sudo kill xxxx #出力された PIDをxxxxに入力
sudo kill yyyy #出力された PIDをyyyyに入力
#全部入力

パスワードなしでログインできる形でmysqlを起動

bash
mysqld_safe --skip-grant-tables &

mysqlを操作

mysql -u root

mysqlを操作

bash
use mysql;
select * from  user;
truncate table user;
flush privileges;
grant all privileges on *.* to root@localhost identified by 'パスワード!!適宜変えて' with grant option;
flush privileges;
select * from  user;
exit

mysql(サーバー側)を終了

bash
sudo ps aux|grep mysql
sudo kill xxxx 
#出力された PIDをxxxxに入力
#全部入力

普通のmysqlを起動

bash
sudo systemctl start mysql
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2