精华内容
下载资源
问答
  • 远程访问mysql时,mysql会解析域名,会导致访问速度很慢,加上下面这个配置可解决此问题 禁止mysql做域名解析 [mysqld] skip-name-resolve PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接...
  • MySQL数据库不允许从远程访问如何办?本文提供了 3种解决思路方法
  • 缺省状态下,mysql的用户没有远程访问的权限。 下面介绍两种方法,解决这一问题。 1、改表法 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” ...
  • 命令行远程访问Mysql数据库

    千次阅读 2019-05-07 16:42:07
    第一步检查客户端主机和Mysql所在的服务器之间网络是否连通 (1)关闭防火墙; (2)ping 192.168.13.105(mysql服务器ip),如果连接成功则进行下一步。...修改访问权限 mysql> GRANT ALL PRIVILEGES O...
    1. 第一步检查客户端主机和Mysql所在的服务器之间网络是否连通
      (1)关闭防火墙;
      (2)ping 192.168.13.105(mysql服务器ip),如果连接成功则进行下一步。
    2. 在服务器端进入Mysql,修改配置信息。
      命令:mysql -u root -p197521 //root是用户名,p后面的是密码
      在这里插入图片描述
    3. 修改访问权限
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    
    

    其中"."代表所有资源所有权限,“‘root’@%”其中root代表账户名,%代表所有的访问地址,也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址与%结合的方式,如10.0.42.%。IDENTIFIED BY ‘root’,这个root是指访问密码。WITH GRANT OPTION允许级联授权。

    1. 刷新访问权限表
     mysql> SELECT User, Password, Host FROM user;
    

    经过以上步骤后就可以远程访问了。

    展开全文
  • MySQL默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?下面这篇文章主要给大家介绍了在Linux系统下实现远程连接MySQL数据库的方法教程,需要的朋友可以参考借鉴,下面来一起看...
  • 在linux系统下远程访问mysql数据库

    千次阅读 2018-07-25 15:43:07
    或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。 第二:在系统防火墙添加例外端口:3306,并允许例外。 错误提示: ERROR 1130: Host '192.168.1.3' is not allowed to connect to ...
    第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。 
    或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。 
    第二:在系统防火墙添加例外端口:3306,并允许例外。 
    
    错误提示: 
    ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 
    的解决方法: 
    1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 
    1.mysql -u root -pvmware
    mysql>use mysql;
    mysql>update user set host = '%' where user = 'root';
    mysql>select host, user from user;   
    
    2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 
    
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
    如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
    
    3.在window自带的防火墙里的例外添加3306端口 
    
    总结: 
    mysql -u root -p 
    mysql>use mysql; 
    mysql>select 'host' from user where user='root'; 
    mysql>update user set host = '%' where user ='root'; 
    mysql>flush privileges; 
    mysql>select 'host'   from user where user='root'; 
    第一句是以权限用户root登录 
    第二句:选择mysql库 
    第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称) 
    第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址 
    第五句:刷新MySQL的系统权限相关表 
    第六句:再重新查看user表时,有修改。。 
    重起mysql服务即可完成。
    展开全文
  • 设置文件 开通防火墙端口 设置权限 让XAMPP远程连接MYSQL
  • java远程访问mysql数据库

    千次阅读 2014-09-08 00:19:48
    一、设置mysql可以远程访问 二、java编程实现远程数据库连接 一、设置mysql可以远程访问 环境参数: MySQL Server 5.0 数据库:javadb 用户名:javadbuser 密码:javadbpwd 目标: 使用用户'...
    java编程实现mysql数据库远程连接的简单示例
    

    本文包括两部分:
    一、设置mysql可以远程访问
    二、java编程实现远程数据库连接

    一、设置mysql可以远程访问

    环境参数:
    MySQL Server 5.0
    数据库:javadb
    用户名:javadbuser
    密码:javadbpwd

    目标:
    使用用户'javadbuser'可以远程访问数据库'javadb'

    以下步骤尽量在命令行完成,在phpMyAdmin进行用户赋权有时不起作用。

    //进入mysql/bin目录
    C:\>cd C:\Program Files\MySQL\MySQL Server 5.0\bin

    //使用root登录mysql
    C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p
    Enter password: ************
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 29 to server version: 5.0.22-community-nt

    //对数据库'mysql'进行操作
    mysql> use mysql
    Database changed

    //查询user表信息
    mysql> select user,host from user;
    +------------+-----------+
    | user       | host      |
    +------------+-----------+
    | javadbuser | localhost |
    | root       | localhost |
    +------------+-----------+
    2 rows in set (0.00 sec)


    //更改用户'javadbuser'可以登录的host值为任意主机'%'
    mysql> update user set host='%' where user='javadbuser';
    mysql> flush privileges;


    //再次查询user表信息,javadbuser的host值已改为'%'(任意主机)
    mysql> select user,host from user;
    +------------+-----------+
    | user       | host      |
    +------------+-----------+
    | javadbuser | %         |
    | root       | localhost |
    +------------+-----------+
    2 rows in set (0.00 sec)

    //授权用户'javadbuser'和密码'javadbpwd'在任意主机都可以连接到数据库'javadb'
    //数据库'javadb'、用户'javadbuser'和密码'javadbpwd'都已事先建好
    //mysql命令不区分大小写
    mysql> GRANT ALL PRIVILEGES ON  `javadb`.* TO  'javadbuser'@'%' IDENTIFIED BY 'javadbpwd'  WITH GRANT OPTION ;
    mysql> flush privileges;

    //使用php程序检测是否可以远程连接数据库'javadb'
    /*
    先在数据库'javadb'建张表'atb'
    //字段:
    id,int(12)
    info,varchar(20)
    //记录:
    id info
    1  OK
    2  OKK
    */
    //conn.php
    <?php
    mysql_connect("192.168.1.2:3306", "javadbuser", "javadbpwd") or
    	die("Could not connect: " . mysql_error());
    mysql_select_db("javadb");
    $result = mysql_query("SELECT id,info FROM atb");
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    	printf ("ID: %s  Info: %s<br>", $row["id"], $row["info"]);
    }
    mysql_free_result($result);
    ?>
    /*正常连接后显示的结果:
    ID: 1 Info: OK
    ID: 2 Info: OKK
    */

    以上过程说明使用用户"javadbuser"远程连接mysql数据库'javadb'已经成功,可以在java客户端上进行测试了。

    二、java编程实现远程数据库连接
    import java.sql.*;
    public class BaseMySQL {
    	public static void main(String []arg){
    		  String driver = "com.mysql.jdbc.Driver";
    		  String url = "jdbc:MySQL://192.168.1.2:3306/javadb";
    		  String username = "javadbuser";
    		  String password = "javadbpwd";
    		  try{
    			   Class.forName(driver);
    			   Connection conn = DriverManager.getConnection(url,username,password);
    			   Statement statement = conn.createStatement();
    			   String sql = "select * from atb ";
    			   
    			   System.out.println("######################");
    			   //获取数据
    			   ResultSet rs = statement.executeQuery(sql);
    			   while(rs.next()){
    			    System.out.println(rs.getString("id")+"\t"+rs.getString("info"));
    			   }
    			   //关闭连接
    			   rs.close();
    			   conn.close();
    		  }catch(ClassNotFoundException e){
    			   System.out.println("数据库驱动未找到");
    			   e.printStackTrace();
    		  }catch(SQLException e){
    			   e.printStackTrace();
    		  }catch(Exception e){
    			   e.printStackTrace();
    		  }
    	}
     
    }
    /*运行结果:
    ######################
    1 OK
    2 OKK
    */
    ycjnx,2014-9-8(完)
    展开全文
  • 远程访问mysql,如何保证其安全

    千次阅读 2017-07-06 10:57:37
    MySQL数据库一贯以高性能、高可性和易用性著称,它已经成为世界上最流行的开源数据库。大量的个人、WEB开发者、大型公司等都在其网站、关键系统、软件包中广泛使用MySQL数据库。  通常,许多企业在部署一种产品时...

     MySQL数据库一贯以高性能、高可性和易用性著称,它已经成为世界上最流行的开源数据库。大量的个人、WEB开发者、大型公司等都在其网站、关键系统、软件包中广泛使用MySQL数据库。

      通常,许多企业在部署一种产品时,安全性常常得不到应有的重视。企业最关心的是使其可以尽快地运行,企业由此也可以尽快赢利。

      但有的企业在安装MySQL时用的是默认选项,由此造成其数据不安全,且服务器也面临被入侵的风险,并有可能在短时间内就出现性能问题。下面将提供保障MySQL安全的最佳方法。

      1、避免从互联网访问MySQL数据库,确保特定主机才拥有访问特权

      直接通过本地网络之外的计算机改变生产环境中的数据库是异常危险的。有时,管理员会打开主机对数据库的访问:

      > GRANT ALL ON *.* TO 'root'@'%';

      这其实是完全放开了对root的访问。所以,把重要的操作限制给特定主机非常重要:

      > GRANT ALL ON *.* TO 'root'@'localhost';

      > GRANT ALL ON *.* TO 'root'@'myip.athome'

      > FLUSH PRIVILEGES

      此时,你仍有完全的访问,但只有指定的IP(不管其是否静态)可以访问。

      2、定期备份数据库

      任何系统都有可能发生灾难。服务器、MySQL也会崩溃,也有可能遭受入侵,数据有可能被删除。只有为最糟糕的情况做好了充分的准备,才能够在事后快速地从灾难中恢复。企业最好把备份过程作为服务器的一项日常工作。

      3、禁用或限制远程访问

      前面说过,如果使用了远程访问,要确保只有定义的主机才可以访问服务器。这一般是通过TCP wrappers、iptables或任何其它的防火墙软件或硬件实现的。

      为限制打开网络socket,管理员应当在my.cnf或my.ini的[mysqld]部分增加下面的参数:

      skip-networking

      这些文件位于windows的C:\Program Files\MySQL\MySQL Server 5.1文件夹中,或在Linux中,my.cnf位于/etc/,或位于/etc/mysql/。这行命令在MySQL启动期间,禁用了网络连接的初始化。请注意,在这里仍可以建立与MySQL服务器的本地连接。

      另一个可行的方案是,强迫MySQL仅监听本机,方法是在my.cnf的[mysqld]部分增加下面一行:

      bind-address=127.0.0.1

      如果企业的用户从自己的机器连接到服务器或安装到另一台机器上的web服务器,你可能不太愿意禁用网络访问。此时,不妨考虑下面的有限许可访问:

      mysql> GRANT SELECT, INSERT ON mydb.* TO 'someuser'@'somehost';

      这里,你要把someuser换成用户名,把somehost换成相应的主机。

      4、设置root用户的口令并改变其登录名

      在linux中,root用户拥有对所有数据库的完全访问权。因而,在Linux的安装过程中,一定要设置root口令。当然,要改变默认的空口令,其方法如下:

      Access MySQL控制台:$ mysql -u root -p

      在MySQL控制台中执行:

      > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

      在实际操作中,只需将上面一行的new_password换成实际的口令即可。

      在Linux控制台中更改root口令的另一种方法是使用mysqladmin工具:

      $ mysqladmin -u root password new_password

      此时,也是将上面一行的new_password换成实际的口令即可。

      当然,这是需要使用强口令来避免强力攻击。

      为了更有效地改进root用户的安全性,另一种好方法是为其改名。为此,你必须更新表用户中的mySQL数据库。在MySQL控制台中进行操作:

      > USE mysql;

      > UPDATE user SET user="another_username" WHERE user="root";

      > FLUSH PRIVILEGES;

      然后,通过Linux访问MySQL控制台就要使用新用户名了:

      $ mysql -u another_username -p

      5、移除测试(test)数据库

      在默认安装的MySQL中,匿名用户可以访问test数据库。我们可以移除任何无用的数据库,以避免在不可预料的情况下访问了数据库。因而,在MySQL控制台中,执行:

      > DROP DATABASE test;

      6、禁用LOCAL INFILE

      另一项改变是禁用”LOAD DATA LOCAL INFILE”命令,这有助于防止非授权用户访问本地文件。在PHP应用程序中发现有新的SQL注入漏洞时,这样做尤其重要。

      此外,在某些情况下,LOCAL INFILE命令可被用于访问操作系统上的其它文件(如/etc/passwd),应使用下现的命令:

      mysql> LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE table1

      更简单的方法是:

      mysql> SELECT load_file("/etc/passwd")

      为禁用LOCAL INFILE命令,应当在MySQL配置文件的[mysqld]部分增加下面的参数:

      set-variable=local-infile=0

      7、移除匿名账户和废弃的账户

      有些MySQL数据库的匿名用户的口令为空。因而,任何人都可以连接到这些数据库。可以用下面的命令进行检查:

      mysql> select * from mysql.user where user="";

      在安全的系统中,不会返回什么信息。另一种方法是:

      mysql> SHOW GRANTS FOR ''@'localhost';

      mysql> SHOW GRANTS FOR ''@'myhost';

      如果grants存在,那么任何人都可以访问数据库,至少可以使用默认的数据库“test”。其检查方法如下:

      shell> mysql -u blablabla

      如果要移除账户,则执行命令:

      mysql> DROP USER "";

      从MySQL的5.0版开始支持DROP USER命令。如果你使用的老版本的MySQL,你可以像下面这样移除账户:

      mysql> use mysql;

      mysql> DELETE FROM user WHERE user="";

      mysql> flush privileges;

      8、降低系统特权

      常见的数据库安全建议都有“降低给各方的特权”这一说法。对于MySQL也是如此。一般情况下,开发人员会使用最大的许可,不像安全管理一样考虑许可原则,而这样做会将数据库暴露在巨大的风险中。

      为保护数据库,务必保证真正存储MySQL数据库的文件目录是由”mysql” 用户和” mysql”组所拥有的。

      shell>ls -l /var/lib/mysql

      此外,还要确保仅有用户”mysql”和root用户可以访问/var/lib/mysql目录。

      Mysql的二进制文件存在于/usr/bin/目录中,它应当由root用户或特定的”mysql”用户所拥有。对这些文件,其它用户不应当拥有“写”的访问权:

      shell>ls -l /usr/bin/my*

      9、降低用户的数据库特权

      有些应用程序是通过一个特定数据库表的用户名和口令连接到MySQL的,安全人员不应当给予这个用户完全的访问权。

      如果攻击者获得了这个拥有完全访问权的用户,他也就拥有了所有的数据库。查看一个用户许可的方法是在MySQL控制台中使用命令SHOW GRANT

      >SHOW GRANTS FOR 'user'@'localhost';

      为定义用户的访问权,使用GRANT命令。在下面的例子中,user1仅能从dianshang数据库的billing表中选择:

      > GRANT SELECT ON billing.dianshang TO 'user1'@'localhost';

      > FLUSH PRIVILEGES;

      如此一来,user1用户就无法改变数据库中这个表和其它表的任何数据。

      另一方面,如果你要从一个用户移除访问权,就应使用一个与GRANT命令类似的REVOKE命令:

      > REVOKE SELECT ON billing.ecommerce FROM 'user1'@'localhost';

      > FLUSH PRIVILEGES;

      10、移除和禁用.mysql_history文件

      在用户访问MySQL控制台时,所有的命令历史都被记录在~/.mysql_history中。如果攻击者访问这个文件,他就可以知道数据库的结构。

      $ cat ~/.mysql_history

      为了移除和禁用这个文件,应将日志发送到/dev/null。

      $export MYSQL_HISTFILE=/dev/null

      上述命令使所有的日志文件都定向到/dev/null,你应当从home文件夹移除.mysql_history:$ rm ~/.mysql_history,并创建一个到/dev/null的符号链接。

      11、安全补丁

      务必保持数据库为最新版本。因为攻击者可以利用上一个版本的已知漏洞来访问企业的数据库。

      12、启用日志

      如果你的数据库服务器并不执行任何查询,建议你启用跟踪记录,你可以通过在/etc/my.cnf文件的[Mysql]部分添加:log =/var/log/mylogfile。

      对于生产环境中任务繁重的MySQL数据库,因为这会引起服务器的高昂成本。

      此外,还要保证只有root和mysql可以访问这些日志文件。

      错误日志

      务必确保只有root和mysql可以访问hostname.err日志文件。该文件存放在mysql数据历史中。该文件包含着非常敏感的信息,如口令、地址、表名、存储过程名、代码等,它可被用于信息收集,并且在某些情况下,还可以向攻击者提供利用数据库漏洞的信息。攻击者还可以知道安装数据库的机器或内部的数据。

      MySQL日志

      确保只有root和mysql可以访问logfileXY日志文件,此文件存放在mysql的历史目录中。

      13、改变root目录

      Unix操作系统中的chroot可以改变当前正在运行的进程及其子进程的root目录。重新获得另一个目录root权限的程序无法访问或命名此目录之外的文件,此目录被称为“chroot监狱”。

      通过利用chroot环境,你可以限制MySQL进程及其子进程的写操作,增加服务器的安全性。

      你要保证chroot环境的一个专用目录,如/chroot/mysql。此外,为了方便利用数据库的管理工具,你可以在MySQL配置文件的[client]部分改变下面的参数:

      [client]

      socket = /chroot/mysql/tmp/mysql.sock

      14、禁用LOCAL INFILE命令

      LOAD DATA LOCAL INFILE可以从文件系统中读取文件,并显示在屏幕中或保存在数据库中。如果攻击者能够从应用程序找到SQL注入漏洞,这个命令就相当危险了。下面的命令可以从MySQL控制台进行操作:

      > SELECT LOAD_FILE("/etc/passwd");

      该命令列示了所有的用户。解决此问题的最佳方法是在MySQL配置中禁用它,在CentOS中找到/etc/my.cnf或在Ubuntu中找到/etc/mysql/my.cnf,在[mysqld]部分增加下面一行:set-variable=local-infile=0。搞定。

      当然,唇亡齿寒,保护服务器的安全对于保障MySQL数据库的安全也是至关重要的。服务器的安全对于数据库来说可谓生死攸关。

    展开全文
  • 无法远程访问Mysql的解决方案,这个写得比较详细
  • LabVIEW远程访问MySQL数据库

    千次阅读 2016-11-22 08:50:09
    为了学到点儿课外的专业知识,也为了在大赛中锻炼自己的能力,我也有幸参加第三届... 首先要搞清楚一个概念,既然是远程访问,那必须有服务器和客户端的区别,到底怎么区分呢?想想就知道了,肯定是装有MySQL的PC作
  • 主要介绍了mysql设置指定ip远程访问连接的方法,分别实例讲述了从任意主机和指定ip访问远程MySQL数据库的方法,代码简单功能实用,需要的朋友可以参考下
  • 目前比较流行的数据库有很多,如大型的Oracel数据库,SQL Server数据库,以及中小型的Access数据库,MySQL数据库和SQLite数据库。LabVIEW都能够跟上述的数据库进行...在此,笔者提供VB访问MySQL数据库的源程序范例。
  • 远程访问mysql只显示test和information_schema两个库,mysql远程连接权限问题
  • MySQL开启关闭远程访问---------修改密码
  • phpstudy设置允许远程访问mysql数据库

    万次阅读 2018-02-26 23:48:13
    MySQL工具-&gt;MySQL命令行)登录mysqlmysql -u root -p 密码 (如果mysql初始账号和密码都是root)2、执行use mysql; 3、执行grant all privileges on *.* to root@'%' identified by '密码'; 4...
  • Workbench设置允许远程访问mysql数据库

    千次阅读 2019-04-12 17:27:06
    打开Workbench中的sql窗口,输入: GRANT ALL PRIVILEGES ON *.* TO 用户名@'%' IDENTIFIED BY 'xxxxxx... FLUSH PRIVILEGES; 如果报错: %报错:You must reset your password using ALTER USER statement be...
  • 远程访问mysql数据库的设置

    千次阅读 2017-11-07 11:02:35
    http://www.sijitao.net/847.html有时候我们想用SQLyog来管理自己的数据库,这个就需要我们开启mysql远程访问mysql默认对所有账号是只能本地登录访问的,要更改成可以远程登录主要有两种办法。1、改表法登录...
  • 开启MYSQL远程连接权限的方法,大家参考使用吧
  • mysql给root开启远程访问权限,修改root密码
  • 今天带大家来安装一下mysql,并修改一下mysql的相关配置,并且授予远程登录权限,在window上的数据库管理工具上操纵linux上的数据库。在安装前最好先保存一份快照,以防安装过程中出现问题。 1、检查,卸载系统自带...
  • centos mysql允许远程访问

    千次阅读 2020-01-03 18:15:35
    1.修改mysql配置文件 vim /etc/my.cnf 2.在mysqld下添加以下代码 bind-address=0.0.0.0 //或者你的ip 3.重启mysql服务 systemctl restart mysqld
  • 需要登录mysql然后修改权限。解决方法:具体操作是首先本地登陆MySQL,然后执行这两句代码:GRANT ALL PRIVILEGES ON . TO root@‘%’ IDENTIFIED BY ’000000′;FLUSH PRIVILEGES; 格式:grant 权限 on 数据库名....
  • 主要介绍了安装mysql 8.0.17并配置远程访问的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • Workbench远程访问mysql数据库

    万次阅读 2016-04-05 16:54:19
    一台电脑上安装了Workbench,现需要访问另一台ubuntu服务器上的mysql数据库,但mysql默认是不允许访问的,考虑到安全性问题,也不适合使用root用户来访问mysql。 这时我们就需要开放mysql服务器并创建新的用户来访问...
  • 远程访问MySql数据库

    千次阅读 2018-03-22 16:25:56
    远程访问MySql数据库有段时间在C/S端搞远程数据库访问,将客户端显示界面与数据库分离,找了很多方法,试了多次,为了方便大家也为了以后自己方便查看,特写出来。以下操作亲测有效,详细贴出注意:最好关闭被访问...
  • 错误解释:服务器没有授权给你这个ip是不...运行命令:mysql&gt;GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; mysql&gt;flush privileges;如果你想允许用户root从...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 140,300
精华内容 56,120
关键字:

远程访问mysql

mysql 订阅