这学期开了分布式数据库这门课,开始编程实现,今天调试了一早上,写下此配置文件方便查询。
本文实现的是SQLServer2008 Express 链式添加MySql-5.6.10数据库,进行远程操作。
一、下载安装MySql数据库
下载解压缩MySql安装包,解压之后大约是1G,安装在D盘。用管理员身份打开cmd.exe,换到D:\mysql-5.6.10-win32\bin目录下。
执行下面:
1
|
mysqld -install |
提示安装成功,恭喜你的MySql已经可以正常使用了,剩下的就是启动操作你的数据库了
1
2
|
从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服务之后,接下来进行连接数据库:
1
2
3
4
5
6
7
8
9
|
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远程服务,连接好数据库后执行如下代码:
1
2
|
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进行添加操作
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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语句略有不同
1
2
3
4
5
6
7
8
9
10
|
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‘ );
//删除 |
觉得好用的请赞一个,如果发现有不对的地方,请留言以更正,谢谢~