How to Change in SQL Prompt format in Oracle , MySQL, PostgreSQL(数据库比较系列六)

像UNIX的PS1环境变量可以改变shell操作提示符, 在日常工作环境中可以提升一些效率可以防止一些误操作, 很多年前在看tom关于在练习oracle操作前的一些环境配置像login.sql, 还可以显示当前的用户或数据库名很是欣喜, 下面记录Oracle , MySQL, PostgreSQL三个主流数据库改变命令行提示符的方法。

Differences between MySQL AUTO_INCREMENT 5.7 VS 8.0

AUTO_INCREMENT机制用于 InnoDB表, AUTO_INCREMENT必须将列定义为某个索引的第一列或唯一列,可以对表执行等效的索引 SELECT MAX(ai_col) 查找以获得最大列值。上AUTO_INCREMENT列h索引没有要求必须是是 PRIMARY KEY 或 UNIQUE,但为了避免 列中的重复值,建议使用这些索引类型。在一些情况下MySQL5.7中会产生重复值duplicate-key error, 8.0有所改变。

How to find full table scan SQL in Oracle,MySQL,Postgresql ?(数据库比较系列五)

Queries that do “full table scan” are the ones that don’t use indexes. However, it is more suitable to use a full table scan for small tables, and it will not cause performance problems. Or when the data on the large table is seriously skewed and a large proportion of data records need to be returned, a full table scan will also be better than an index scan.

How to config Keepalived VIP Auto Failover for MySQL?

MySQL master slave replication doesn’t provide any solution in case of master failure, in that scenarios we have to manually do the configuration changes to make the next available server as master. Use keepalived to configure VIP, the application uses VIP to connect to the database, when the node is unavailable, the VIP automatically switches to other nodes.

How to start MySQL slave/replica skip missing binlogs?

Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’

Sometimes our MySQL master-slave environment has not been used for a long time,slave server is stopped for some reason for a few hours/days, and the master binlog has been automatically deleted. when you resume replication on the slave it fails with above error, and I don’t care about the loss of transactions between them in my test DB. Of course, the production environment may need to rebuild the slave database.

How to reset root password if forgotten in MySQL 5.7?

The MySQL root password is often used in practical applications. If you accidentally lose the root password, you can recover the MySQL root password through the methods in this article.

MySQL 5.7同步延迟案例1: FLUSH PRIVILEGES死锁

一套MySQL V5.7主从同步(MTS)检查时延时较高,这是mysql的常见现象,如果重启备库时提示err 1236,又是mysql的常见错误, 分析slave上的进程发现 GRANT 在 FLUSH PRIVILEGES 之前获得锁时出现死锁,简单记录这个MySQL 5.7 bug。

,

Oracle、MySQL、PostGreSQL、SQL Server数据库比较系列(三): VARCHAR与VARCHAR2

Oracle 数据库中的 varchar 和 varchar2 数据类型都用于存储字母数字值的动态长度。但它们之间存在一些差异。varchar 数据类型是适用于所有关系数据库产品(Oracle、MySQL、PostgreSQL 和等)的 ANSI 标准数据类型,存储长度不同数据库差异较大。而 varchar2 数据类型是 Oracle 标准数据类型。VARCHAR是Varchar2的同义词,当我们创建 varchar 数据类型时,Oracle 服务器会在内部自动将 varchar 数据类型转换为 varchar2 数据类型。而部分国产库是VARCHAR2是VARCHAR的同义词。

Oracle、MySQL、PostGreSQL、SQL Server数据库比较系列(二):查询每秒事务数

在做 db benchmarks 时,qps、tps 是衡量数据库性能的关键指标,TPS : Transactions Per Second 是每秒事务数,即数据库服务器在单位时间内处理的事务数。 横向对比计划几类数据库计算tps的方法。

Oracle、MySQL、PostGreSQL、SQL Server数据库比较系列(一):null value

最近几年数据库市场百花齐放,在做跨数据库迁移的数据库选型时,除了性能、稳定、安全、运维、功能、可扩展外,像开发中对于值的处理往往容易被人忽视, 之前写过一篇关于PG区别Oracle在SQL解析缓存的笔记《PostgreSQL 12 : Prepare statement和plan_cache_mode 参数》,这里记录一下null 值在这几个数据库中的区别。

,

Troubleshooting OGG Char datatype from mysql to ogg fill chr(0)

前几年处理过一个<当C语言的程序处理 chr(0) or ‘\0’ 时的ORA-01008 Case>故障案例, 近期又遇到一个案例是在Golden Gate同步数据时遇到的问题,发现ogg在同步时对于char类型的字段,不足指定长度时,OGG使用的是chr(0)补充, 而对于已有数据是默认chr 32(空格)补充,导致无法匹配问题。

MySQL 8新特性: Random Password Generation生成随机密码

近几年数据库安全在生产管理过程中尤为重视,MySQL同样和Oracle database一样提供了一些高级安全特性如TDE, Audit, Data masking, Firewall和密码安全管理策略等.
Oracle database中有密码verify function,目前还没有生成随机密码的功能, 但MySQL 8中撮供了该功能,下面测试一下“随机密码生成”特性。

, ,

MySQL高可用方案:Master High Active(MHA) (一)

随着MySQL的推广使用越来越广泛, MySQL的高可用性变得越来越重要, 本篇主要介绍MySQL基于一个方案MHA, MHA 是有当时日本DeNA公司youshimaton于2011年首次公开,目前作者在facebook。MHA是一套优秀的作为MySQL高可用性环境下,能做到30秒内自动故障切换和主从提升的高可用软件(同样也支持手动切换)

MySQL 8 Internal Architecture (内部架构图)

MySQL 8 Internal Architecture (内部架构图)

MySQL 5.7 使用diagnostics() Procedure生成”AWR” Report

Oracle Database有强大的AWR报告分析整体的服务器性能问题, 但是MySQL之前是没有的,需要自定义大量的脚本生成监控数据, 从MySQL 5.7 (5.7.9)开始,可以使用sys.diagnostics()存储过程依赖于PERFORMANCE_SCHEMA,生成类似于Oracle AWR一样的MySQL性能报告。

MariaDB学习系列(一): MariaDB TX 3.0

MariaDB已联合Alibaba, Google 和 Facebook等改进和整合新的特性服务于整个社区,意在提供替代传统数据库的解决方案 。

MariaDB上周推出了MariaDB TX 3版本, MariaDB TX有一系列组件组成,有MariaDB Server、 MariaDB Cluster、 MariaDB MaxScale、 MariaDB connectors 、MariaDB tools、 MariaDB services。

Leap Second (闰秒) 在ORACLE环境的影响

因为我国是东八时区(UTC+8),所以我国将在北京时间2017年1月1日的7时59分59秒也会做闰秒调整和全球同步,到时会出现7:59:60的特殊现象。对时间敏感的系统不可忽略,除了航天系统,我们的数据库系统应该也要做好检查, 润秒有可能会使OS Reboot,应用HANG, Clusterware restart影响.

,

Inserting no value for the column NOT NULL and no explicit DEFAULT clause refused , After upgrade MySQL5.6 default

前段时间升级MySQL到了5.6,但是后来app 后台日志显示一些SQL insert 出错,手动执行提示有些字段没有default值,查看了表语法该字段是Not null,而且升级也是OS copy数据库文件(因为是MyISAM 引擎),对比升级前后表结构一致…

Shell script to backup MySQL database(备份MySQL 脚本)

this is shell script to backup mysql database, using mysqldump to dump all databases into separate files, and encrypt backup file using zip password option, Generate a collective file using tar, ftp to ftp server, to send email to DBA .

,

How to setup Mysql Replication Master-Slave ?(MySQL主从复制)

只是简单的记录主从的配置过程和一些常用排错方法 ,我本次安装使用的是mysql 5.6.16,和之前的老版本配置可能有些不同。