#myqslを起動し、アクセスする時、拒否られた。
$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
rootユーザーにアクセス権限がない
#mysql一旦停止
$ mysql.server stop
#権限を回避してアクセス
$ mysqld_safe --skip-grant-tables
2020-07-27T12:14:14.6NZ mysqld_safe Logging to '/usr/local/var/mysql/XXXX.err'.
2020-07-27T12:14:14.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
mysqld_safe
-> mysqldサーバーを起動するためのスクリプト
--skip-grant-tables
-> 権限なしで起動
上記コマンドを入力したら、新しくターミナルタブを開いてください。(command
+ T
)
#mysqlへアクセス
$ mysql -u root
mysql>
#権限確認
mysql> use mysql;
Database changed
mysql> select * from user;
use (データベース名);
-> データベース選択
select (カラム) from (テーブル);
-> 指定したテーブルから指定したカラムの情報取得
#userテーブル削除
mysql> truncate table user;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
truncate table (テーブル);
-> テーブル内のデータ全て削除
flush privileges;
-> テーブルを再ロード
#rootユーザーを作成し、権限付与
mysql> create user 'root' identified by 'password';
Query OK, 0 rows affected (0.04 sec)
mysql> SELECT user, host FROM mysql.user;
+------+------+
| user | host |
+------+------+
| root | % |
+------+------+
1 row in set (0.01 sec)
mysql> grant all privileges on *.* to 'root';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit;
Bye
create user 'ユーザー名' identified by 'パスワード';
-> ユーザー作成 & パスワード設定
grant all privileges
-> GRANT OPTION を除き、指定されたアクセスレベルにあるすべての権限を付与します。
on . to 'ユーザー名';
-> 特定のサーバー上のすべてのデータベースに適用されるグローバル権限を割り当てます。
#mysqld_sefe プロセス終了
$ ps
PID TTY TIME CMD
508 ttys000 0:00.55 -bash
76932 ttys001 0:01.19 -bash
98076 ttys001 0:00.04 /bin/sh /usr/local/opt/mysql@8.0/bin/mysqld_safe --skip-grant-tables
98176 ttys001 1:03.36 /usr/local/opt/mysql@8.0/bin/mysqld --basedir=/usr/local/opt/mysql@8.0 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql@8.0/lib/plugin --skip-grant-tables --log-e
81032 ttys002 0:00.36 -bash
$ KILL 98076
$ KILL 98176
ps
-> 現在実行されているプロセス一覧表示
KILL (PID)
-> プロセス終了
#mysql再起動、再アクセス
$ mysql.server start
Starting MySQL
.. SUCCESS!
$ mysql -u root -p
Enter password: