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');
//删除
觉得好用的请赞一个,如果发现有不对的地方,请留言以更正,谢谢~
SQLServer 分布式查询MySQL的更多相关文章
- SQL分布式查询、跨数据库查询
--[方法1]连接服务器方法 --step1 创建链接服务器 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB', 'ip地址' exec sp ...
- MySQL、SqlServer、Oracle三大主流数据库分页查询 (MySQL分页不能用top,因为不支持)
一. MySQL 数据库 分页查询MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它 ...
- SQLSERVER 脚本转MYSQL 脚本的方法总结
1.MYSQL(版本为5.6)中SQL脚本必须以分号(;)结尾,这点比SQLSERVER要严谨:关键字与函数名称全部大写:数据库名称.表名称.字段名称全部小写. 2.所有关键字都要加上``,比如 St ...
- SQLSERVER分布式事务使用实例
实例一 尊重原著作:本文参考自http://www.jb51.net/article/43540.htm --BEGIN DISTRIBUTED TRANSACTION [transactionnam ...
- 【SQL】 MySql与SqlServer差异比较(MySql踩坑全集)
本文主要记录将数据库从SqlServer移植到MySql的过程中,发现的各种坑爹问题.以SqlServer为主,记录MySql的差异性. 一.IF语句 首先MySql中的的IF语法不同. IF Con ...
- SQLServer 远程链接MySql数据库详解
SQLServer 远程链接MySql数据库详解 by:授客 QQ:1033553122 测试环境: Microsoft Windows XP Professional 版本2000 Service ...
- MSSQl分布式查询(转)
MSSQlServer所谓的分布式查询(Distributed Query)是能够访问存放在同一部计算机或不同计算机上的SQL Server或不同种类的数据源, 从概念上来说分布式查询与普通查询区别 ...
- SQLServer数据库查询语法
SQLServer数据库查询语法 前言: SQLServer数据库介绍: SQLServer数据库是微软公司推出的一款关系型数据库系统,SQL Server是一个可扩展的.高性能的.为分布式客户机/服 ...
- Atitit 分区后的查询 mysql分区记录的流程与原理
Atitit 分区后的查询 mysql分区记录的流程与原理 1.1.1. ibd是MySQL数据文件.索引文件1 1.2. 已经又数据了,如何分区? 给已有的表加上分区 ]1 1.3. 分成4个区, ...
随机推荐
- Consul 服务发现和配置
Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. ...
- Kafka三款监控工具比较(转)
在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导致网络阻塞.并且 ...
- dpkg
dpkg是debian最早提出的一个软件包管理工具,因为早期并没有考虑到当下软件包之间这么复杂的依赖关系,所以并不能自动解决软件包的依赖问题,这个命令多用于安装本地的.deb软件包,也可以进行软件包的 ...
- shell脚本实现随机筛选
#!/bin/bash name=(val1 val2 val3 val4 ...) a=$() #以时间产生随机数向39取余得到0~38的值
- java enum(枚举)的使用
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集” ...
- ELF Format 笔记(二)—— ELF Header
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 以 32 位的 ELF header 数据结构为例: #define EI_NIDENT 16 typede ...
- URL编码知识摘抄备忘
网页工具 http://www.107000.com/T-UrlEncode/ 参考: 维基百科http://zh.wikipedia.org/zh/%E7%99%BE%E5%88%86%E5%8F% ...
- seq
Linux 中seq 命令的用法 用于产生从某个数到另外一个数之间的所有整数 用法: seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 ...
- webkit浏览器常见开发问题
前段时间有人问我一个简单的问题,html如何创建解析的? 我讲了一大堆,什么通过DocumentLoader, CachedResourceLoader, CacheResource, Resourc ...
- Windows Azure Redis 缓存服务
8月20日,Windows Azure (中国版)开始提供Redis缓存服务,比较国际版的Microsoft Azure晚了差不多一年的时间.说实话,微软真不应该将这个重要的功能delay这么长时间, ...