第一种方式:
1.首先停止MySQL服务:service mysqld stop2.加参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables & 然后就可以无任何限制的访问mysql了3.root用户登陆系统:mysql -u root -p mysql4.切换数据库:use mysql5.显示所有的表: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
就应该好了
转载于:https://www.cnblogs.com/owenma/p/7073297.html