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'); //删除
觉得好用的请赞一个,如果发现有不对的地方,请留言以更正,谢谢~