第一種方式:
1.首先停止MySQL服務:service mysqld stop
2.加參數啟動mysql:/usr/bin/mysqld_safe --skip-grant-tables &
然后就可以無任何限制的訪問mysql了
3.root用戶登陸系統:mysql -u root -p mysql
4.切換數據庫:use mysql
5.顯示所有的表:show tables;
這里就可以訪問表了
6.查看user表中root用戶的localhost權限:select * from user where user='root' and host='localhost'
7.在顯示的列表中顯示:root用戶的localhost的權限都是'N',表示root用戶本地登陸不具有權限
8.修改root用戶的localhost權限:
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
9.更新一下:flush privileges;
10.然后重新啟動下mysql,可以解決問題了
第一種不行 采用第二種:
刪除data中Mysql文件:
刪除 mysql之后執行: .
/scripts/mysql_install_db
--user=mysql --datadir=
/usr/local/mysql/data/mysql
就應該好了