就好比要钉一颗螺丝钉,可以用手工的螺丝批,也可以用电动的螺丝批,但如果两种同时让你选择,你选哪种?
mysql本身通过命令行就能完成所有的数据库 *** 作,但肯定会让人(尤其是初学者)觉得繁琐、不方便,而navicat这类的数据库管理软件可以把这些 *** 作变得简单容易,但它们并不是必须要的,如果你觉得自己是世外高人,完全可以抛开不用,直接用键盘噼里啪啦一顿狂敲就把工作完成了,顺便还可装装逼!
1假设19216813为服务器2首先在ip为1921681103的机子上能够ping通运行->cmd>ping19216813检查是否能ping通3把两台电脑的IP设置在同一个网段,如:19216812,19216813。。。。。子网:2552552550网关:192168114在MySQL服务器上增加新用户,增加新用户的方法:在服务器端Mysql>grantselect,delete,update,insertonzhaozhento‘zhen’@’1921681103’identifiedby‘123’;在1921681103这台机子上可以通过用户名:zhen密码为123对数据库zhaozhen进行 *** 作!//怎样删除增加的新用户的访问权限Mysql>Revokeselect,delete,update,insertonzhaozhenfrom’zhen’@’1921681103’;也就是收回1921681103机子访问的权利。并输入主机名称:19216813,添加完毕后就能够在IP地址为1921681103的电脑上,连接另一台19216813上的MYSQL服务器。5、访问:cdC:\ProgramFiles\MySQL\MySQLServer50\binC:\programFiles\MYSQLServer50\bin>mysql–h19216813–uzhen–p123则进入访问19216813上的mysql数据库。6、下面是说自己写的程序通过ADO访问Mysql数据库,用在不同的机器上。在另一台机子上也是用数据源进行连接测试的,和在本机时一样,只是将服务器给为mysql服务器的!使用的DataBaseConfiguration程序进行测试的,直接在使用时,将server改为1921683212(以上时19216813由于后来机器ip地址更换的原因),user为zhen,Password:123,database:zhaozhen即可访问。也就是说在客户端用ADO方式访问服务器端的Mysql数据库时,仍然需要有在客户端安装mysql---connector—odbc也就是数据源链接。至于在使用的configini,在程序中完成的对其修改,而在修改之后,会将其存储在C:\ProgramFiles\CommonFiles\ODBC\DataSources文件夹下。//需要修改的地方。//寻找存储路径后来在上面需要修改的地方添加了获得当前路径函数,实现CStringCSysPath::GetSysPath(CStringfileName){TCHARexeFullPath[MAX_PATH];GetModuleFileName(NULL,exeFullPath,MAX_PATH);CStringszfolder=exeFullPath;intpos=szfolderReverseFind('\\');szfolder=szfolderLeft(pos);pos=szfolderReverseFind('D');szfolder=szfolderLeft(pos);szfolder+=fileName;returnszfolder;}入参:要查找的文件名返回值:要查找的文件路径
手动创建数据库通常包含如下 *** 作步骤:
1、确定新建数据库名称和实例名称;
2、确定数据库管理员的认证方式;
3、创建初始化参数文件;
4、创建实例;
5、连接并启动实例;
6、使用create database语句创建数据库;
7、创建附加的表空间;
8、运行脚本创建数据字典视图;
1首先我们确定oracle数据库中的数据库可用,我们打开navicat,依次点击连接->oracle,连接名可以自己随便定义
2连接成功之后,我们的navicat就会出现这个标志,
3接下来我们就要开始数据库之间的转换,首先我们在mysql新建一个数据库,由于之前我已经转换过一次,在此就不纠结数据库名了,字符集选择utf8mb4
utf8和utf8mb4的区别:
MySQL在553之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思, 专门用来兼容四字节的unicode。
好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。
那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等。
4创建完数据库之后,我们需要将Oracle中的表转到mysql,依次点击工具->数据传输,源数据就选择Oracle数据库中需要转换的数据库,目标数据库就选择我们新建的数据库,点击选项,在遇到错误时继续打勾,点下一步
5选择我们需要转储的数据,本次转换只转换表结构,视图的转换稍微有些麻烦,因为mysql视图不支持子查询。点击开始
6接下来我们需要看数据的转换过程中发现了哪些错误,我们要将这些错误记录下来,可能由于某些元素会导致某些表转换不成功,这时就需要我们在转换完成后自己手动去创建这些表。
7由于数据库中的大小原因会导致转换的时间长度,在转换完成后,可以看到上面报了多少错误,然后我们复制日志文件,打开notepad++,将日志复制进去,查找 [ERR],通常的提示都是这种,我们需要记录下该表,
8由于完整的转换时间比较长,通常在转换完成后复制整个日志文件,查找[ERR]就可以看到转换中出现的错误,可能会出现重复的表名,重复的我们只需要记住一个即可。我们需要记住的是报错语句的上一条记录的表名,我们记下来这写问题表,等下来处理。
9在数据转换完成后,会有一些问题,就是在转换的过程中,oracle中的integer类型会在mysql中转换成decimal类型,date类型也会出现一些问题,就会出现下面这种情况,这时就需要我们将这些字段更改
10我们对转换好的mysql数据库点击右键->转储sql文件->仅结构
11转储完成后打用notepad++打开sql文件,将decimal(x,x)全部替换为int,如果有datetime类型的,将datetime(0)转换成datetime
12保存之后我们再新建一个数据库,和刚才一样,选择我们刚创建的数据库,右键,运行sql文件,选择我们改过的sql文件
13运行成功后,目前,我们jaranmes3中的数据是对的,jranmes4中的表结构是对,所以我们需要将此同步一下,这里我们选择将jranmes4中的结构同步到jranmes3,选择工具->结构同步,选择好后点击比对,确定没什么问题选择部署,运行
14更改完表的结构,我们需要对刚才转换中出现错误的表进行重新创建,我们根据记录的表明,在PL/SQL中搜索表名,右键->查看sql
在更改时,我们不需要关心表空间,只需要在创建表的时候添加上主键,创建索引就可以了。
比如上面的sql,在mysql中,我们需要写成
-- Create table
create table UTILS_OBJ_ASSOCHECK
(
masterobj VARCHAR2(64) not null,
slaveobj VARCHAR2(64) not null,
keyattrsrel VARCHAR2(256) not null,
primary key (KEYATTRSREL, SLAVEOBJ, MASTEROBJ)
)
有的表可能包含的有索引,类似下面这样的语句
在mysql中不能使用这种方法来添加索引,上图中我们添加的是普通索引,我们需要查找对应的sql语句,我们应该使用下面的方式来添加索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
所以,上面的语句我们可以写成
ALTER TABLE BIZ_REPORT_BOX_BATCH_ASSO ADD INDEX BIZ_REPORT_BOX_BATCH_ASSO (BATCHNO, BOXNO)
有时候PLSQL中添加的是唯一索引,我们需要使用mysql添加唯一索引方式的语句,以下面的格式
ALTER TABLE `table_name` ADD UNIQUE ( `column` )
需要注意的是:mysql中没有varchar2类型,且有时varchar2(255)会导致长度太长无法完成建表,所以我们在PL/SQL复制完建表语句后,还需要我们去更改建表语句,比如将varchar2改成varchar,将number改为int。
15根据上面的步骤,将我们转换中遇到问题的表全部重新更新一下就可以了
方法如下:
1、 启动Navicat ,连接->oracle,配置如下:连接名随便起
2、Basic连接类型:连接类型有两种,我们先看用Basic的连接方式,此方法适合没有安装Oracle客户端的机器,配置好之后,点连接测试,如果你数据库没有问题,则能连接测试成功。
3,TNS连接类型:选择TNS监听连接类型,你首先要安装好oracle客户端,安装完成后,连接数据库时,先配置OCIdll路径,Navicat->工具>选项>OCI,将ocidll路径设置成你安装客户端的路径,如本例:D:\app\Administrator\product\1120\client_2\ocidll,
4,还有一步要做,到连接的Oracle数据库目录下找到tnsnamesora文件,一般路径在D:\oracle\product\1020\db_1\NETWORK\ADMIN下,将该文件拷贝到你安装的oracle客户端目录下,如D:\app\Administrator\product\1120\client_1\Network\Admin\tnsnamesora,在连接时就可以直接用TNS方式连接了,程序会自动识别你的网络连接名,如果没有自动识别网络连接名,说明配置的不对,再检查下有说明漏的。
5,配置好之后,点连接测试,如果你数据库没有问题,则能连接测试成功。
注意:如果连接不上,检查下tnsnamesora文件,看看(HOST = Localhost),如果你连接的是本地Oracle数据库,可能没问题,如果是远程的,一定要改成ip地址,我的配置如下:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1921680129)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
6,连接成功后,你就可以像 *** 作其他数据库一样,可视化的管理Oracle数据库,建表,建字段,删除,修改,备份等都可以做
以上就是关于只安装了mysql的服务端,为什么也能用全部的内容,包括:只安装了mysql的服务端,为什么也能用、电脑上装有虚拟机数据库,如何让另一台电脑连接数据库、如何在plsql developer创建数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)