mysql錯誤ERROR 1044 (42000): Access denied for user

mysql錯誤ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'MAC'解決辦法mysql

MariaDB [(none)]> create database MAC;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'MAC'
MariaDB [(none)]> 




方法一:
1.關閉mysql
   # service mysqld stop 【 備註centos7是systemctl stop mariadb】
2.屏蔽權限
   # mysqld_safe --skip-grant-table
   屏幕出現: Starting demo from .....
3.新開起一個終端輸入
   #mysql -uroot -pxxxxxx
   MariaDB [(none)]> use mysql;
   MariaDB [mysql]> 
   MariaDB [mysql]> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';     【備註:下一次會用newpassword密碼登陸數據庫】
   MariaDB [mysql]>  FLUSH PRIVILEGES;//記得要這句話,不然若是關閉先前的終端,又會出現原來的錯誤
   MariaDB [mysql]>  \q



----------------------------------------------------------------------------
個人實操測試
[root@nessus ~]# systemctl stop mysqld
Failed to stop mysqld.service: Unit mysqld.service not loaded.
[root@nessus ~]# systemctl stop mariadb
[root@nessus ~]# 
[root@nessus ~]# 
[root@nessus ~]# mysqld_safe --skip-grant-table
191030 11:11:24 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
191030 11:11:24 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql


新開起一個終端輸入
[root@nessus ~]# mysql -uroot  【個人無密碼】
MariaDB [(none)]> 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
MariaDB [mysql]> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4  Changed: 4  Warnings: 0

MariaDB [mysql]> 
MariaDB [mysql]> 
MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> \q
Bye
[root@nessus ~]# mysql -uroot  【發現以前無密碼沒法登錄了】
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@nessus ~]# 


[root@nessus ~]# mysql -uroot -pnewpassword   【得用newpassword密碼登陸數據庫】
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]> create database MAC;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]>