可能是把root@localhost用戶刪掉了。
首先停掉mysql服務,在/etc/my.cnf中添加 skip-grant-tables,同時可以添加skip-networking選項來禁用網絡功能,防止這時其他人通過網絡連接到數據庫
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 skip-grant-tables #添加這一行
啟動服務,進入數據庫
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
#查看有沒有root@localhost用戶,沒有就用update添加
MariaDB [mysql]> select host,user,password from user;
+-----------------------+------+-------------------------------------------+
| host | user | password |
+-----------------------+------+-------------------------------------------+
| % | LEE | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| % | root | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| localhost | root | |
| localhost.localdomain | | |
| 127.0.0.1 | root | |
+-----------------------+------+-------------------------------------------+
5 rows in set (0.00 sec)
#給root@localhost上密碼
MariaDB [mysql]> UPDATE user SET password=PASSWORD('1') WHERE user='root' AND host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
#把相應的權限附上
MariaDB [mysql]> update user set
-> `Select_priv` = 'Y',
-> `Insert_priv` = 'Y',
-> `Update_priv` = 'Y',
-> `Delete_priv` = 'Y',
-> `Create_priv` = 'Y',
-> `Drop_priv` = 'Y',
-> `Reload_priv` = 'Y',
-> `Shutdown_priv` = 'Y',
-> `Process_priv` = 'Y',
-> `File_priv` = 'Y',
-> `Grant_priv` = 'Y',
-> `References_priv` = 'Y',
-> `Index_priv` = 'Y',
-> `Alter_priv` = 'Y',
-> `Show_db_priv` = 'Y',
-> `Super_priv` = 'Y',
-> `Create_tmp_table_priv` = 'Y',
-> `Lock_tables_priv` = 'Y',
-> `Execute_priv` = 'Y',
-> `Repl_slave_priv` = 'Y',
-> `Repl_client_priv` = 'Y',
-> `Create_view_priv` = 'Y',
-> `Show_view_priv` = 'Y',
-> `Create_routine_priv` = 'Y',
-> `Alter_routine_priv` = 'Y',
-> `Create_user_priv` = 'Y',
-> `Event_priv` = 'Y',
-> `Trigger_priv` = 'Y',
-> `Create_tablespace_priv` = 'Y'
-> where user='root' and host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
#更新數據庫
MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
在之后退出數據庫,把剛才改的配置文件還原回來,重啟數據庫就好了。
