• mysql 远程连接数据库


     

    一、连接数据库:

    1、连接远程数据库

    登陆远程数据库需要指明远程数据库所在服务器的IP地址或者域名,以及端口号,

    mysql -h mysql服务器的IP地址 -P 端口号(通常为3306) -u 用户名 -p密码       

    -h: mysql服务器的IP地址
    -P: 大写的P选项表示端口号,端口号默认为3306,可省略
    -u: 用户名
    -p: 小写的p表示密码,当-p后输入密码时,会直接登陆。当-p后不输入密码时,会要求输入密码,但密码不显示

    如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

    mysql -h 192.168.5.116 -P 3306 -u root -p123456   //显示密码登陆
    mysql -h 192.168.5.116 -P 3306 -u root -p    //隐藏密码登陆
    Enter password:

    2、连接本地数据库

    因为是本地连接,所以不需要指明服务器地址,当然,若是指明也可以登陆

      mysql  -u 用户名 -p
      mysql -h localhost -u 用户名 -p

      mysql -h 本地iP地址 -u 用户名 -p

    二、配置mysql允许远程链接

        默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。

    一、改表法

        在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改称"%"

    例如:
      #mysql -u root -p
       Enter password:
        ……
       mysql>use mysql;
      mysql>update user set host = '%' where user = 'root';
    
      mysql>select host, user from user;

    二、授权法

     1.允许某个用户在任何主机可以访问mysql服务器

    GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

    %表示任何主机
    
    

    例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    mysql>FLUSH PRIVILEGES;

     1.允许某个用户在在指定的主机可以访问mysql服务器,在指定主机以外的主机则无法访问数据库

    GRANT ALL PRIVILEGES ON *.* TO '用户名'@'指定主机的IP地址'IDENTIFIED BY '密码' WITH GRANT OPTION;

      如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    mysql>FLUSH PRIVILEGES;

    常见问题: 

    1、在采用法二授权法之后,无法在本地使用本地IP地址登录mysql(如:
    #mysql -u root -p -h 192.168.5.116
    Enter password: 
    ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES)

    上例中loadb116是主机名.

    解决方法: 
    1、这时可以使用:mysql  -u root -p 登录,进入到mysql后。
    mysql> grant all privileges on *.* to 'root'@'loadb116' identified by '123456' with grant option; 
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges; 
    Query OK, 0 rows affected (0.00 sec)

    2、执行完上面的命令后,即可在本地使用本地的ip地址登录
    # mysql -u root -p -h 192.168.5.116 
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or /g.
    Your MySQL connection id is 60
    Server version: 5.1.45 MySQL Community Server (GPL)
    
    Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
  • 相关阅读:
    IDEA tomcat 乱码( Catalina log localhost log server )
    idea的maven项目无法加载resources下的配置或是xml文件
    【MyBatis系列10】MyBatis日志如何做到兼容所有常用的日志框架
    【MyBatis系列9】彻底搞懂MyBatis插件原理及PageHelper原理
    【MyBatis系列8】带你彻底掌握MyBatis的缓存工作原理
    【MyBatis系列7】原来SqlSession只是个甩手掌柜,真正干活的却是Executor等四大对象
    idea 热部署Devtools
    git branch 命令查看分支、删除远程分支、本地分支【转】
    【转】elasticsearch 基础知识汇总
    【转】Elasticsearch究竟要设置多少分片数?
  • 原文地址:https://www.cnblogs.com/gaoBlog/p/13152720.html
Copyright © 2020-2023  润新知