zoukankan      html  css  js  c++  java
  • [修]开启MySQL远程访问权限 允许远程连接

    原文地址:http://www.cnblogs.com/XL-Liang/archive/2012/05/03/2481310.html

    这个地址也许更有帮助:http://www.cppblog.com/zzg/archive/2009/05/29/86066.html (这里有很多关于数据库处理的技巧)

    这么做,是新建了一个虚拟机,把数据库服务器放在虚拟机里面跑,然后通过虚拟机配置端口映射。一个电脑母机里面有很多子机的服务。这样有助于模拟与演示。

    1、登陆mysql数据库    

       mysql -u root -p

       查看user表

    mysql> use mysql;
    Database changed
    mysql> select host,user,password from user;
    +--------------+------+-------------------------------------------+
    | host         | user | password                                  |
    +--------------+------+-------------------------------------------+
    | localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
    | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
    +--------------+------+-------------------------------------------+
    2 rows in set (0.00 sec)

     

       可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

       (1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

    2、实现远程连接(授权法)

       将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。   
       update user set host = ’%’ where user = ’root’;

       将权限改为ALL PRIVILEGES

    mysql> use mysql;
    Database changed
    mysql> grant all privileges  on *.* to root@'%' identified by "root";
    Query OK, 0 rows affected (0.00 sec)

    mysql> select host,user,password from user;
    +--------------+------+-------------------------------------------+
    | host         | user | password                                  |
    +--------------+------+-------------------------------------------+
    | localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
    | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
    | %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
    +--------------+------+-------------------------------------------+
    3 rows in set (0.00 sec)

    这样机器就可以以用户名root密码root远程访问该机器上的MySql.

    3、实现远程连接(改表法)

    use mysql;

    update user set host = '%' where user = 'root';

    这样在远端就可以通过root用户访问Mysql.

     ##########################

    别忘了,还要这么做,原文作者没写,现在补充上

    sudo vi /etc/mysql/my.cnf

    注释掉这句。注释掉的意思是不必叫mysqld 服务只能被本地呼唤,可以被链接到世界的网络上,这对源代码还有数据之间不在同一主机上比较有意义。
    bind-address =127.0.0.1

    ######################

    做完以后,要重新启动mysql服务

    $~ sudo service mysql restart

    ××××××××××××××××××××××××××××××××××
    既然都已经设置完数据库了,那么我们应该增加一些别的东西,远程连接数据库,才是我们想要的!
     
    远程连接数据库
     

    14:例2:连接到远程主机上的MYSQL

    假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:

    mysql -h110.110.110.110 -uroot -pabcd123                       // 远程登录

    -h 远程数据库地址

    -u 用户名

    -p 密码

    (注:u与root可以不用加空格,其它也一样)

     端口一般默认是3306
    这里我们可以有更多的设置,具体要看/etc/mysql/my.cnf 的设置了。
     
    这里还有一个简单的例子:mysql -u lzpddd -pmypassword -h 192.168.1.88 -P 3306 -D mydb
     
    此前,有写过关于怎么操作mysql数据库的文章,还可以回忆一下。
     还有这一篇博客,
  • 相关阅读:
    LINQ 详解
    oracle下查询的sql已经超出IIS响应时间
    IOC应用之 Ninject
    JSONP ---------跨域
    国内各大互联网公司相关技术站点2.0版 (集合腾讯、阿里、百度、搜狐、新浪、360等共49个)
    IO多路复用,以socket为例
    socket机制下实现的多用户与服务器交互
    在一个进程中定义多个线程
    基于tcp的socketserver,即tcp的多线程
    基于upd的socketserver,即udp的多线程
  • 原文地址:https://www.cnblogs.com/spaceship9/p/3471105.html
Copyright © 2011-2022 走看看