Navicat MySQL连接Linux下MySQL的问题解决方案

1.开放防火墙端口

添加需要监听的端口:/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

保存设置:/etc/init.d/iptables save


2.为用户授权

    授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

  2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

  @>mysql -u root -p

  @>密码

  2.2 首先为用户创建一个数据库(testDB):

  mysql>create database testDB;

  2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):

   mysql>grant all privileges on testDB.* to test@localhost identified by '123';

   mysql>flush privileges;//刷新系统权限表

  格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

  2.4 如果想指定部分权限给一用户,可以这样来写:

  mysql>grant select,update on testDB.* to test@localhost identified by '123';

  mysql>flush privileges; //刷新系统权限表

  2.5 授权test用户拥有所有数据库的某些权限:   

  mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "123";

      //test用户对所有数据库都有select,delete,update,create,drop 权限。

    //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

    //对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '123';即可。

      2.6 授权test用户拥有所有数据库的所有权限:

  mysql>grant all privileges on *.* to test@"%"  identified by '123';

  mysql>flush privileges; //刷新系统权限表



你可能感兴趣的:(linux)