以前用mysql 数据库直接安装后用root 用户,就可以在命令行登录,也可以通过远程操作,自从mysql被oracle收购后,发现权限可能比以前更加细致了,安装环境Win 7 x64,mysql 版本Server version: 5.5.32 MySQL Community Server (GPL) ,安装过后,发现只能从本地登录,而不能通过远程访问,后来在网上找资料,发现说把mysql 数据库中root 用户的host改为% 并且执行
FLUSH PRIVILEGES;
执行过后,果然发现可以远程登录了,但是本地用localhost登录的时候,或者用127.0.0.1登录的是却又发现登录不了,查询数据mysql中user的权限发现 root 用户有三个一个linux系统下的,这个可以不考虑,剩下两个相同用户名的权限不一样,而且一个有密码,另一个无密码,经过测试
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 HOST=‘localhost‘ AND USER=‘root‘
UPDATE USER SET PASSWORD=‘*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B‘ WHERE HOST=‘localhost‘ AND USER=‘root‘
FLUSH PRIVILEGES;
发现可以用locahost登录了,至此对mysql数据的权限进一步深入的理解。