zoukankan      html  css  js  c++  java
  • SQLServer 分布式查询MySQL

    这学期开了分布式数据库这门课,开始编程实现,今天调试了一早上,写下此配置文件方便查询。

    本文实现的是SQLServer2008 Express 链式添加MySql-5.6.10数据库,进行远程操作。

    一、下载安装MySql数据库

    下载解压缩MySql安装包,解压之后大约是1G,安装在D盘。用管理员身份打开cmd.exe,换到D:\mysql-5.6.10-win32\bin目录下。

    执行下面:

    mysqld -install
    

    提示安装成功,恭喜你的MySql已经可以正常使用了,剩下的就是启动操作你的数据库了  

    从Windows命令行启动MySQL服务器,启动控制台窗口并输入命令:D:\mysql-5.6.10-win32\bin>mysqld -nt
    从Windows命令行停止MySQL服务器,启动控制台窗口并输入命令:D:\mysql-5.6.10-win32\bin>mysqladmin -u root shutdown
    

    成功启动之后,打开你的任务管理器,你会看到有一个MySql服务正在运行。

    启动MySql服务之后,接下来进行连接数据库:

    D:\mysql-5.6.10-win32\bin>mysql -u root     // 使用用户名为root,密码为空的根账号登陆mysql操作控制台
        Welcome to the MySQL monitor.  Commands end with ; or /g.
        Your MySQL connection id is 2
        Server version: 5.0.67-community-nt MySQL Community Edition (GPL)
        Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
    
        mysql> quit       //quit退出mysql连接
        Bye
        D:/MySQL/bin>
    

    开启MySQL远程服务,连接好数据库后执行如下代码:

    mysql> use mysql; 
    mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
    

    这样所以的用户都可以远程访问你的MySQL服务了  

    本文限于链式添加mysql数据库,关于my.ini配置文件大家去GOOGLE吧

    二、下载mysql-connector-odbc-5.2.6-win32.msi驱动程序包

    下载安装之后,就有了mysql ODBC驱动包

    接下来打开你的控制面板,在搜索里面搜  “管理工具”,如图:

    双击打开数据源(ODBC),选择MySQL ODBC 5.2 ANSI Driver驱动配置你的MySQL系统数据源,并且选择你的表

    三、打开SQLServer Management进行添加操作

    EXEC sp_addlinkedserver 
    @server = 'MySQLTest',        --添加在SQLServer中链式服务器名字
    @srvproduct='MySQL',           
    @provider = 'MSDASQL',        
    @datasrc = 'myDSN'             --在2步骤中添加的数据源名字
    GO
    EXEC sp_addlinkedsrvlogin  
    @rmtsrvname='MySqlTest',        
    @useself='false',
    @locallogin='sa',
    @rmtuser='mysql的用户名',
    @rmtpassword='mysql的密码'
    GO
    

    注意:如果Mysql修改密码后必须重新映射一下EXEC sp_addlinkedsrvlogin

    到这步如果上面操作都正确,那么你就可以操作你的MySQL远程数据库了

    下面是对MySQL执行增删查改的SQL语句,和操作远程SQLServer语句略有不同

    SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表名' )
    //查询
    INSERT OPENQUERY (MySQLTest, 'SELECT id,parentid,level,title FROM 表名')
    VALUES ('','0','0','zhangzongqi');
    //添加
    UPDATE OPENQUERY (MySQLTest, 'SELECT parentid,level,title FROM 表名 WHERE id = 320') 
    SET parentid = '2',LEVEL=3, title=title+'pct';
    //更新
    DELETE OPENQUERY (MySQLTest, 'SELECT id FROM 表名WHERE id = 316');
    //删除
    

    觉得好用的请赞一个,如果发现有不对的地方,请留言以更正,谢谢~

     

  • 相关阅读:
    关于脚本编写的注意点
    关于情报收集以及应用
    关于情报收集以及应用
    关于linux服务器的批量维护、批量升级、
    关于文档
    cf卡中,wtmp文件较大,导致磁盘空间满了
    node.js 对接公众平台
    highcharts的.net本地导出环境安装记录
    兼容 IE,firfox 的时间日期出现 NaN
    IE11无法 登陆银行网站
  • 原文地址:https://www.cnblogs.com/BrowserSnake/p/3683231.html
Copyright © 2011-2022 走看看