第一章:SQL执行差异

 1.DB2数据库

  1.1用户创建

#用户名等1到8个字符
#DB2中用户必须是个操作系统用户(比如Windows和Linux用户)
#等同于在系统中创建用户设置密码(这点不同于oracle等数据库)
useradd -d /home/testuser -m testuser
passwd testuser

  1.2赋权限

#查看数据库 dbdbname
su - db2inst
db2 list application
#连接数据库权限授予、撤销
db2 connect to dbdbname user db2inst using db2inst
db2 GRANT dbadm ON DATABASE TO USER testuser;
db2 REVOKE connect,resource,dba ON DATABASE FROM testuser;

  1.3创建表空间

--删除、创建自动存储、注释表空间
drop tablespace testuserdb;
CREATE TABLESPACE testuserdb MANAGED BY AUTOMATIC STORAGE;
COMMENT ONTABLESPACE testuserdb IS '表空间';

  1.4创建schema

--查询当前存在的Schema
select * from syscat.schemata; --在不同用户下创建与之相同的默认 schema
DROP schema testuser RESTRICT;
CREATE schema testuser authorization testuser; --查询、修改当前Schema(DB2数据库中用户与Schema没有必然联系,设置给用户设置一个与之相同的默认Schema)
select current schema from sysibm.sysdummy1;
SET CURRENT SCHEMA = 'testuser';

  1.5创建索引

select * from sysibm.sysindexes where tbname = 'TESTTABLE';        --查看表索引
drop index ind_emp; --删除索引
create index ind_emp on testtable(NO); --普通索引
create unique index ind_emp on testtable(NAME,TYPE,NO); --唯一索引
Create unique index ind_emp on u_emp(emp) cluster; --聚集索引

 2.Oracle数据库

  2.1创建用户、赋权限、删除用户

  https://www.cnblogs.com/ZhaoHS/p/10246064.html

 3.MySQL数据库

  3.1创建用户、赋权限

登陆mysql
mysql -uroot -p
创建数据库
CREATE DATABASE webDB;
创建用户(密码注意是否需要字母大小写、数字、特殊符号)
CREATE USER 'web'@'%' IDENTIFIED BY 'web@123';
给用户赋数据库表权限(webDB.*表示给用户赋webDB数据库所有表权限)
grant all privileges on webDB.* to 'web'@'%' with grant option;

  3.2例如(注意:恢复root用户超级权限)

[root@mysql ~]# mysql -h主机IP -u用户名 -p密码
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 83282
Server version: 5.7.37 MySQL Community Server (GPL) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> GRANT ALL PRIVILEGES ON web.* TO 'web'@'%' IDENTIFIED BY 'web';
ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'web' mysql> SELECT host,user,password,Grant_priv,Super_priv FROM user;
ERROR 1046 (3D000): No database selected mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
ERROR 1054 (42S22): Unknown column 'password' in 'field list' mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 2 Changed: 1 Warnings: 0 mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec) mysql> exit
Bye mysql> grant all privileges on web.* to 'web'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)

  3.3删除用户、用户数据库、修改用户密码

删除用户
>mysql -u root -p
>密码
mysql>DELETE FROM user WHERE User="web" and Host="localhost";
//刷新系统权限表
mysql>flush privileges; 删除用户的数据库
mysql>drop database webDB; 修改指定用户密码
>mysql -u root -p
>密码
mysql>update mysql.user set password=password('新密码') where User="web" and Host="localhost";
mysql>flush privileges;

  3.4查询&解除死锁

select concat('KILL ',id,';') from information_schema.processlist where user='root';
杀进程(解除死锁)
KILL 7279;
KILL 7283;
KILL 7286;
KILL 7282;
KILL 7284;

第二章:在使用与功能上的差异总结

  MySQL与DB2的对比

编号

功能

MySQL

DB2

1

账号管理

数据库用户名+IP地址

操作系统用户

2

权限管理

可以批量grant与revoke

只能单独授权包括最小单元

3

日志管理

归档日志与事务日志没有关系

归档日志由事务日志产生

4

锁的管理

MVCC实现锁的并发控制

内存模型实现锁的并发控制

5

schema的管理

每个schema为一个独立的DB

同一个DB内可以有多个schema

6

表空间管理

无法条带化、可管理、维护性较弱

管理方便、功能强大

7

数据备份

开源在线的备份工具少,传统的备份只支持温备份

备份方式严谨、功能强大

8

事务行为

回滚到上一个保存点,不会回滚整个事务

整个事务进行回滚

9

数据恢复

支持在恢复时打开数据库,灵活

不支持在恢复或前滚时打开数据库

10

SQL支持

对复杂SQL支持较弱,在运行时可能会存在性能问题

支持各种复杂SQL,多种jion方式

11

Package支持

不支持

支持

12

语法差异

遵守SQL92标准,但细节上有差异、默认大小写敏感

遵守SQL92标准,大小写不敏感

13

容灾与高可用

可选择方案较多、灵活、可二次开发

只有HADR

14

可扩展性

可选择方案较多、灵活、可定制、可开发

只有PureScale

15

DDL功能

支持指定位置加列、在线DDL

不支持

    引用:http://blog.chinaunix.net/uid-31518880-id-5782957.html

   MySQL与Oracle的对比

    引用:https://www.doc88.com/p-47216041896644.html?r=1

第三章:数据库连接&报错等

 1.DB2数据库

  1.1报错:https://www.cnblogs.com/ZhaoHS/p/14212588.html

  1.2 驱动:com.ibm.db2.jcc.DB2Driver

  URL:jdbc:db2://9.1.17.47:50001/TRDADB

 2.MySQL数据库

  2.1mysql安装磁盘满了,服务停止不能启动

  启动mysql数据库
  systemctl start mysqld
  连接mysql数据库
  mysql -h9.1.15.72 -uroot -proot

  2.2驱动:com.mysql.cj.jdbc.Driver

  URL:jdbc:mysql://9.1.15.72:3306/afaconsole?characterEncoding=utf8

  2.3 MySQL插入中文时出现ERROR 1406 (22001): Data too long for column ‘name‘ at row 1

    修改类型为:longtext,alter table 表名 modify column 字段名称 字段类型 not null;

    alter table AWEB_ROLE modify column PERMISSIONS longtext COMMENT '权限' not null;

待持续完善......

MySQL、Oracle与DB2数据库差异的更多相关文章

  1. mysql,oracle,sql server数据库默认的端口号,端口号可以为负数吗?以及常用协议所对应的缺省端口号

    mysql,oracle,sql server数据库默认的端口号? mysql:3306 Oracle:1521 sql server:1433 端口号可以为负吗? 不可以,端口号都有范围的,0~65 ...

  2. oracle和DB2的差异

    1.简介 当今IT的环境正经历着剧烈的变化,依靠单一的关系型数据库管理系统(RDBMS)管理数据的公司开始逐渐减少.分析家的报告指出 ,今天超过90%的公司都拥有不只一种RDBMS.在现在紧张的经济情 ...

  3. (转)Oracle与DB2在数据库高可用技术上的相同与差异探讨

    原文:http://www.talkwithtrend.com/Article/178339 数据库建设过程中,高可用是每一个企业数据中心数据库建设过程中至关重要的一个关注点,直接关系到业务连续性和稳 ...

  4. 不同数据库oracle mysql SQL Server DB2 infomix sybase分页查询语句

    在不同数据库中的使用的分页查询语句: 当前页:currentpage 页大小:pagesize 1. Oracle数据库 select * from (select A.*,rownum rn fro ...

  5. Oracle,SQL Server 数据库较MySql数据库,Sql语句差异

    原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...

  6. Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间

    做易买网项目,由于对数据库插入系统时间不了解,常常遇到的问题: 1.java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配.原因:由于获取系统时间类型不对,应为sy ...

  7. MySQL、Oracle、DB2等数据库常规排序、自定义排序和按中文拼音字母排序

    MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3中比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...

  8. Oracle、DB2、MySql、SQLServer JDBC驱动

    四种数据库JDBC驱动,还列出了连接的Class驱动名和Url Pattern,DB2包括Type 2.Type 3和Type 4三种模式.注意驱动包名称的大小写. Oralce连接驱动包名和URL ...

  9. 异常 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

    使用Spring 的JDBCtemplate 调用数据库的时候 出现了如下的问题 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-S ...

  10. 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接

    前言 DataGrip:Jet Brains出品的一款数据库管理工具(没错,是Jet Brains出品,必属精品).DataGrip整合集成了当前主流数据库(如:SQL Server, MySQL, ...

随机推荐

  1. 移动设备控制网络IO模块案例

    网络IO模块设备配置画面一 首先ip模式设置为动态获取,工作模式设置为tcp客户端模式,目的ip或域名设置为47.95.144.92,目的端口设置为9797,波特率设置为115200,这是这个页面需要 ...

  2. 简单的sqlHelper类

    public class SQLHelper     {        //连接数据库        static string connStr = ConfigurationManager.Conn ...

  3. java基础--抽象类、接口

    final(最终.修饰符) ## final关键字的用法: 1. final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终的. 2. fianl关键字修饰一个引用类型变量时,该变 ...

  4. 学习spring cloud记录9-nacos深一步学习

    前言 统一配置管理将各个服务的配置管理起来,如果发生变化,可以主动向服务发送信息.配置管理服务也在nacos中. 配置热更新 在配置列表新建配置 发布后,这个配置已经进入统一配置管理 服务配置拉去 项 ...

  5. Luogu P11131 【MX-X5-T3】「GFOI Round 1」Cthugha 题解

    P11131 [MX-X5-T3]「GFOI Round 1」Cthugha 有意思的最短路题目,需要对迪杰斯特拉算法有深入的理解. 首先,不存在最小值的条件是相邻的两个格子加起来值小于 \(0\), ...

  6. 使用密钥登录Linux服务器

    我使用的是Xshell生成密钥,再上传到Linux服务器上的. 到工具标签栏,选择[新建用户密钥生成向导] 设置密钥的密码 最后将其保存为文件就好了. ======================== ...

  7. java 中的多态 & 动态绑定

    简介 一个对象变量 可以指示多种实际类型的现象被称为多态.在运行时能够自动地选择调用哪个方法的现象称为动态绑定. 如果用private,static,final修饰的方法称为静态绑定.

  8. 【笔记】记录NHibernate在.net中的使用

    最近在做一个AngularJs的管理平台,后台使用的是.Net Framework 4.5,搭配了NHibernate + Redis + Elasticsearch + Mysql等技术: 在新增接 ...

  9. SciTech-Wireless-WiFi-WDS(无线路由桥接扩网)两个路由器无线桥接(WDS)要点

    两个路由器无线桥接(WDS)要点 当上网点距离路由器有好几道墙,连接WiFi信号很差时: 可用另外一个路由器无线桥接(大多数路由器的WDS功能)到主路由器(连光猫连接的路由器), 扩大主WiFi路由器 ...

  10. freeswitch笔记(9)-esl outbound中如何放音采集按键?

    关于这个功能,esl-client 上给出的源码示例极具误导性,根本跑不起来,见: https://github.com/esl-client/esl-client/blob/master/src/t ...