码迷,mamicode.com
首页 > 数据库 > 详细

记录Window系统下myeclipes连接linux下mysql所出现的一个bug

时间:2018-03-24 13:26:58      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:事务   pass   local   开启   参数   builds   改密码   mit   条件   

记录myeclipes远程连接mysql所出现的一个bug

    今天在玩框架hibernate时,出现一个非常费解的bug,话不多说,先看bug

Access denied for user ‘root‘@‘localhost‘ (using password:YES)

   然后各种搜百度,有些是说得修改密码,有些是说权限问题,这都怪本人着,非要在window系统下连接linux下的mysql(我的mysql数据库是装在虚拟机下的)

   基于条件反射,我检查了下我的hibernate配置文件

<hibernate-configuration>
    <!-- 记住:先配置sessionFactory标签,一个数据库对应一个sessionFactory标签-->
    <session-factory>
        <!-- 必须配置的参数,4大参数,数据库的方言 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://192.168.174.130:3306/hibernate_day01</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <!-- 数据库的方言 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- 可选配置 -->
        <!-- 映射配置文件 ,需要映入映射的配置文件-->
        <mapping resource="com/heima/domain/Customer.hbm.xml"/>
    
    </session-factory>
</hibernate-configuration>

发现配置还是没有问题,那就可能就是权限问题

1.首先将新建的数据库为本地用户赋予权限

grant all privileges on hibernate_day01.* to root@192.168.174.130 identified by ‘root‘;

2.然后给账号开通外网所有权限

grant all privileges on hibernate_day01.* to ‘root‘@‘%‘ identified by ‘root‘;

  当然其中的all可以指定一些权限,如限制增改查等,其ip地址因为是远程访问,我设定的是linux下的ip地址

3.使得以上权限生效

flush privileges;

4.测试连接

@Test
    public void testSave(){
        /**
         * 1.先加载配置文件
         * 2.创建sessionFactory对象,生成Session对象(会话)
         * 3.开启事务
         * 5.编写保存的代码
         * 6.提交事务
         * 7.释放资源
         */
        //1.先加载配置文件
        Configuration config=new Configuration();
        //默认加载src目录下hibenate.cfg.xml的配置文件
        config.configure();
        //创建sessionFactory对象
        SessionFactory factory=config.buildSessionFactory();
        //创建session对象
        Session session=factory.openSession();
        //开启事务
        Transaction tr=session.beginTransaction();
        //编写保存的代码
        Customer c=new Customer();
        //c.setCust_id(cust_id);  主键是自动递增,不需要自己设置
        c.setCust_name("测试");
        c.setCust_level("2");
        c.setCust_phone("110");
        //保存数据,操作对象就相当于操作数据库的表结构
        session.save(c);
        //提交事务
        tr.commit();
        //释放资源
        session.close();
        factory.close();
        
    }

 此时JUnit显示为绿色,表示操作成功

技术分享图片

 

再看看数据库,数据已经插进表格中

技术分享图片

 

记录Window系统下myeclipes连接linux下mysql所出现的一个bug

标签:事务   pass   local   开启   参数   builds   改密码   mit   条件   

原文地址:https://www.cnblogs.com/cailijia52o/p/8638468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!