次のような質問は以下のとおりです。
wangju @wangju - HP - 348 - G4: 〜 $のmysql - uのルート- pは
パスワードを入力します:
ERROR 1698(28000):アクセスが拒否されたため 、ユーザー ' ルート' @ ' localhostの'
ソリューション:2つの段階
- MySQL設定は、パスワードなしでログオンすることができます
- 再設定用のMySQLユーザ名とパスワード
まず第一に:mysqlの設定は、パスワードなしでログオンすることができます
ステップ1:
使用グローバル検索MySQLの設定ファイルを見つけます
ルート@wangju - HP - 348 - G4:/ホーム/ wangju#見つける/ - 名前mysqld.cnf
/など/ mysqlの/ mysql.conf.d / mysqld.cnf
ステップ2:
MySQLの設定ファイルでは[mysqldが]次の文で追加されました:
スキップ- 付与-テーブル < - ここに追加
役割:あなたがすることはできませんmysqlのパスワードにログインできるようにすることです。
STEP3:
変更の保存、再起動のMySQL
サービスMySQLの再起動
STEP4:
直接会っターミナル-uルート-p上のMySQLの入力は、MySQLを入力するためにパスワードを入力するように求め入力します
次に:再構成のMySQLユーザ名とパスワードの
STEP1:
MySQLを入力した後、次の3文が設定されているrootユーザのパスワードを実行します
使用のMySQL、次にためにEnterキーを押し
更新して ユーザーに SETの authentication_string =パスワード(「パスワード」)をユーザ= 「ルート」は、その後、Enterキーを押し
フラッシュ権限は、次にEnterキーを押し
結果は以下の通りであります:
mysqlの> 使用mysqlの。
読み込みテーブルの情報をするために完了の テーブル と 列の名前
あなたが変えることができますオフこの機能をするために迅速に起動もらうと - データベースの変更
のmysql > 更新ユーザー設定 authentication_string =パスワード(「admin123456」)どこのユーザ= 「ルート」;
クエリOK、1影響を受けた行、1つの警告(0.02
行が一致。
秒) 2の 変更:1つの 警告:1つ
のmysql >フラッシュの権限を、
クエリOK、0影響を受ける行(0.01秒)
次にquitと入力し、MySQLを終了します。
ステップ2:
Mysqld.cnfは、この文をコメントアウトするスキップ助成金・テーブルを追加するために、ファイルの先頭を再入力します。
戻る入力端子は、MySQLの-u -pルート、与えられました:
ルート@wangju - HP - 348 - G4:/ホーム/ wangju#のmysql - uのルート- pは
パスワードを入力します:
ERROR 1524(HY000):プラグイン' auth_socketが' され ていないロード
再把刚才注释掉的skip-external-locking取消注释,然后重启mysql
执行下面的命令:
use mysql;
#切换数据库 select user,plugin from user; #查询user表 user列,plugin列的值 #从查询结果可以看出plugin root的字段是auth_socket,把它改为mysql_native_password update user set authentication_string=password("admin123456"),plugin='mysql_native_password' where user='root'; #更新user表plugin root
执行结果:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
| root | mysql_native_password |
| tester | mysql_native_password |
+------------------+-----------------------+
6 rows in set (0.00 sec)
mysql> update user set authentication_string=password("admin123456"),plugin='mysql_native_password' where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 1 Warnings: 1
再输入select user,plugin from user;回车,我们能看到root用户的字段改成功了。
mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | mysql_native_password |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
| root | mysql_native_password |
| tester | mysql_native_password |
+------------------+-----------------------+
6 rows in set (0.00 sec)
step3:
quit退出,再执行step3,重启mysql
结果:
再用mysql -u root -p,回车,输入密码之后,就可以登录成功了
参考文档: