日期:2014-05-16  浏览次数:20421 次

mysql安装后无法登陆或者jdbc无法连接解决方法
1、确定windows的mysql服务指向的是mysql安装目录下的my.ini,可以在查看服务属性中看到指向那个文件

2、确定my.ini中的datadir指向的目录下有mysql文件夹,这个其实就是mysql数据库
  

3、参数用命令行登录,不用密码mysql -uroot 如果不行则加密码
mysql -uroot -p密码,登录后运行以下代码
use mysql;  
set password =password('root');   //修改root密码
delete from user where user='';   //删除匿名用户,
grant all on *.* to root@'%' IDENTIFIED BY 'root'; //授权远程访问
FLUSH PRIVILEGES;    //刷新数据库权限


一般就可以登录了,还可以用以下方式给其他用户授权远程访问
USE MYDB ; //自己项目数据库
drop user my;
create user my identified by '123'; //创建用户
grant all on *.* to MY@'%' IDENTIFIED BY '123'; //授权my远程访问所有数据库
update mysql.user set Select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_priv='Y',Drop_priv='Y',Reload_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' where User='my';

FLUSH PRIVILEGES;



4、如果其他机器无法访问本机的mysql,或者报错
    ERROR 1042 (HY000): Can't get hostname for your address
    则在my.ini中的

   [mysqld]下加上
    skip-name-resolve