zoukankan      html  css  js  c++  java
  • SQL跨数据库访问linux或windows的mysql和定时作业

    1、远程访问数据库大致模型

    大致有2种方法:

    第一种在ODBC配置好ODBC的数据源,然后与SQL链接服务器结合(SQL链接服务器不需要填写访问接口字符串

    第二种在SQL链接服务器直接配置好ODBC的Driver字符串。

    这里主要介绍第一种(第二种在‘访问接口字符串’加上字符串即可)

    2、mysql在win7、linux上如何设置:

      2.1、分配权限(linux和win7)

        进行mysql命令行,进行分配权限、执行

          GRANTALLPRIVILEGESON*.*TO'Lucy'@'192.168.1.101' IDENTIFIED BY'123'WITHGRANTOPTION;

      2.2、打开3306端口

        2.2.1、在win7上,只要在‘入站规则’上建立一个3306端口即可。

            控制面板=>管理工具=>高级安全的Windows防火墙=>入站规则

            然后新建规则=>选择‘端口’=>在‘特定本地端口’上输入一个‘3306’=>选择‘允许连接’=>选择‘域’、‘专用’、‘公用’

            =>给个名称,如:mysqlinput

        2.2.2、在linux的ubuntu上,对mysql的配置文件进行配置均可。

            按F3(打开命令行)=>输入"sudo vi /etc/mysql/my.cnf"(用vim打开)=> 

              # Instead of skip-networking the default is now to listen only on

           # localhost which is more compatible and is not less secure.

           bind-address = 127.0.0.1

           注释掉bind-address均可,即#bind-address = 127.0.0.1,表示允许通过远程端口3306访问。

           =>重启mysql,即在命令行输入"sudo /etc/init.d/mysql restart"

    3、配置ODBC

      3.1、控制面板=>管理工具=>数据源(ODBC)=>系统DSN

      

      选测试Test一下,连接到对方mysql数据库成功,所以才可以显示information_schema,mysql,mysql...这些数据库,这里选择test。

      3.2、数据源是ZYF,则ODBC为以下情况

      

     

    4、创建链接服务器

        

      4.1、因为在ODBC建立的数据源(data source name)是ZYF,所以这里是ZYF

    (拓展一:如果你不想定义ODBC,可以在‘访问接口字符串’直接通过加上以下字符串:

    DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.1.100;PORT=3306;DATABASE=information_schema;USER=root;PASSWORD=123;STMT=set  names  utf8

    但是这里不用加,因为你已经定义了一个ODBC了。

    拓展二:如果你不想定义一个ODBC,也不想通过链接服务器。当然也可以直接用字符串执行:

    SELECT * FROM OPENROWSET('MSDASQL', 'DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.1.101;PORT=3306;DATABASE=information_schema;USER=Lucy;PASSWORD=123;STMT=set  names  utf8', 'select * from CHARACTER_SETS')

      4.2、测试一下。

      执行select * from OPENQUERY (CONNECTMYSQL,'select * from a');

      

     

    5、建立定时作业

    常规=>步骤=>计划

    步骤中:

     

    6、运行效果:

    7、总结:

    SQL数据库远程访问MySQL数据和定时作业,主要是为了不同数据库开发,为了达到不同数据库资料共享性而操作的(达到如果一个企业要用2款软件,如一款在财务上突出优势,另一款在生产流水线突出优势,数据库如果是SQL和MySQL。这时可通过定时作业来实现数据上的一致性)

    (在上一篇中)不用程序端(C#)实现数据库远程访问原因,一方面如果程序端改动,需要增大程序端的维护和编写;

    另一方面,进行数据库和数据库之间的访问,也解决了数据库数据共享的一致性。

     

      

      

  • 相关阅读:
    洛谷P2568 GCD
    线段树(模板)
    题解 CF1296D 【Fight with Monsters】
    图片针对父元素居中 TileImg
    npm
    echarts线图,柱状图,饼图option
    mac下修改环境变量
    input获取焦点,但不调起键盘
    mac shh 关联git仓库
    根据滚动条触发动画
  • 原文地址:https://www.cnblogs.com/yongfeng/p/1805046.html
Copyright © 2011-2022 走看看