自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (6)
  • 收藏
  • 关注

原创 MySQL企业版工具——使用MySQL Enterprise Monitor监控MySQL数据库和主机---发表到爱可生开源社区

MySQL在企业版里的有个工具MySQL Enterprise Monitor,可以监控MySQL实例和主机性能。现实验如下:安装下载到https://edelivery.oracle.com/ 网站下软件:安装

2020-06-09 19:28:32 774 2

原创 lower_case_table_names 设置为0时,表名因为大小写不同而找不到。

binlog恢复时,agent日志里面有下面的提示:Start to execute mysqlbinlog cmd: "/usr/bin/mysqlbinlog" "--stop-datetime=2020-06-12 10:00:01" "--exclude-gtids=9880af88-c491-11e8-b030-3ce8246a5f07:1-325771407,fd4bdcd9-87a8-11e9-9d4e-3ce8246a5ecf:1-2805639000" -Restoring /data

2020-06-30 13:51:02 215 1

原创 使用二进制日志的坐标或GTID进行复制Binary Log File Position Based Replication or GTID-based auto-positioning

文章目录配置使用GTID自动定位模式假设已经通过xtrabackup,Enterprise backup或 mysqldump等配置好从库。配置主库mysql> show master status;+----------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

2020-06-29 19:53:38 83

原创 使用clone plugin将当前实例进行本地或者远程的clone,可以用于创建从库和mgr新成员加入。

MySQL8.0.17推出了一个重量级的功能:clone plugin。允许用户可以将当前实例进行本地或者远程的clone操作。适用于整个实例快速备份和mgr新成员加入。安装clone插件mysql> INSTALL PLUGIN clone SONAME 'mysql_clone.so';Query OK, 0 rows affected (0.06 sec)mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS -> FROM I

2020-06-29 17:12:22 88

原创 如何判断binlog的格式是ROW或者STATEMENT

有时接到一个binlog需要恢复,不知道是STATEMENT或是ROW格式,需要找源数据库的dba问,其实自己可以判断,方法如下STATEMENT默认有sql语句statement的binlog里面的默认就有sql语句,例如:root@scutech:/var/lib/mysql# mysqlbinlog ./binlog.000280 |grep insertinsert into t1 values(23)insert into t1 values(232)ROW默认没有sql语句要加

2020-06-28 18:18:01 262

原创 日志开始恢复后8小时,连接会断开 Aborted connection 4 to db

从日志中观察到,日志开始恢复后8小时,连接会断开2020-06-20T23:31:39.131659+08:00 4 [Note] Aborted connection 4 to db: 'mysql' user: 'test' host: '' (Got timeout reading communication packets)涉及两个参数:interactive_timeout:参数含义:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用

2020-06-23 17:13:50 159

原创 修改innodb_buffer_pool_instances解决mysqlbinlog恢复慢的问题

一个客户的mysql数据库恢复在最后一步是滚binlog,结果恢复特别慢,CPU占用率100%,磁盘IO几乎是零,show processlist发现线程在sleep。从general log里面看不到任何动静,似乎找不到解决的办法。登录上去用strace分析mysqld进程发现:全部在进行内存分配。分析mysqld的参数,发现一个参数innodb_buffer_pool_instances 被设置为64,很是可疑,就是innodb_buffer_pool被分成了64个单位,而innodb_buffe

2020-06-23 14:27:47 414

原创 mysql服务启动失败 [MY-010091] mysqld: File /binlog.index not found selinux

启动mysql服务失败,提示:[root@localhost ~]# service mysqld restartRedirecting to /bin/systemctl restart mysqld.servicemysqld: File './binlog.index' not found (OS errno 13 - Permission denied)2020-06-22T03:05:07.975321Z 0 [Warning] [MY-010091] [Server] Can't cre

2020-06-22 11:14:24 2580

原创 mysqldump 中参数 --set-gtid-purged 控制 SET @@GLOBAL.GTID_PURGED和 SET @@SESSION.SQL_LOG_BIN

mysqldump --master-data=1 --single-transaction --databases test没有加set-gtid-purged时出现警告提示:scutech@scutech:/tmp$ mysqldump --master-data=1 --single-transaction --databases test >aa.sqlWarning: A partial dump from a server that has GTIDs will by d

2020-06-17 19:30:48 711

原创 MySQL8 的加密 Data-at-Rest Encryption ERROR 3185 (HY000):

MySQL 5.7.11引入了InnoDB表空间加密,该加密启用了对每表文件表空间的支持。在MySQL 8.0.13中, 引入了通用表空间的加密。为了提高加密处理的可用性,MySQL 8.0.16添加了几个功能,这些功能允许数据库管理员进行更精细的控制。加载加密插件:mysql> install plugin keyring_file soname 'keyring_file.so';Query OK, 0 rows affected (0.26 sec)mysql> CREATE

2020-06-17 13:20:35 263

原创 bind-address如果是127.0.0.1,mysql只接受localhost,不接受远程连接。

bind-address如果是127.0.0.1,mysql只接受localhost,不接受远程连接。在bind-address后面增加远程访问IP地址或者禁掉这句话就可以让远程机登陆访问了。在配置文件里面加入bind-address = 127.0.0.1,然后重新启动,可以看到下面监听地址的变化。root@scutech:~# netstat -plunt|grep 3306tcp 0 0 127.0.0.1:33062 0.0.0.0:*

2020-06-15 20:05:16 677

原创 mysql_config_editor 设置密码set --login_path

mysql_config_editor可以给指定的连接和密码生成一个加密文件.mylogin.cnf,默认位于当前用户家目录下。mysql、mysqladmin等可以使用该文件直接登录,避免明文密码出现在脚本中。如果没有指定 --login-path, mysql_config_editor 默认读 client login pathscutech@scutech:~$ mysql_config_editor set --login_path=client --host=localhost --us

2020-06-15 17:57:07 235 1

原创 把log_error_verbosity设置为3,调试连接问题ERROR 2003 (HY000):ERROR 1045 (28000):

mysql 8里面使用global log_error_verbosity控制日志记录的详细程度:Permitted Message Prioritieslog_error_verbosity ValueERROR1ERROR, WARNING2ERROR, WARNING, INFORMATION3默认为2,设置为3,可以用于调试连接问题,这个参数可以联机设置:mysql> set global log_error_verbosity=3;Quer

2020-06-15 15:46:49 270

原创 iSCSI Login negotiation failed. lost page write due to I/O error on 盘变成read only

iscsi mount的盘的突然变成read only,在系统日志messages中有下面的记录:Jun 11 22:05:31 oracle11grestore kernel: Buffer I/O error on device sdd1, logical block 169593217Jun 11 22:05:31 oracle11grestore kernel: lost page write due to I/O error on sdd1Jun 11 22:05:31 oracle11gr

2020-06-15 13:35:49 472

原创 MySQL 8 默认的数据库表中的引擎都是InnoDB

查看mysql> select distinct(ENGINE) from information_schema.tables;+--------------------+| ENGINE |+--------------------+| NULL || InnoDB || CSV || PERFORMANCE_SCHEMA |+--------------------+4 r

2020-06-15 11:48:48 366

原创 MySQL 8 默认字符集改成utf8mb4

mysql> show variables like '%charac%';+--------------------------+--------------------------------+| Variable_name | Value |+--------------------------+--------------------------------+| character_set_client |

2020-06-15 11:47:39 625

原创 MySQL 8 默认身份验证插件caching_sha2_password

默认身份验证插件caching_sha2_password在MySQL 8里面的默认身份验证插件已经从mysql_native_password变成了caching_sha2_password。root@da2ac5ce6f38:/# mysql -uroot -pdingjia --protocol=tcp -hmysql80Warning: Using a password on the command line interface can be insecure.ERROR 2059 (HY

2020-06-12 17:55:14 169

原创 MySQL 8 不可见索引 invisible index

不可见索引创建不可见索引CREATE TABLE `t1` ( `id` int(11) NOT NULL, `name` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_name` (`name`) /*!80000 INVISIBLE */) ;create index idx_t1 on t1(name) invisible;不可见索引的常见操作create table t1(id int primary

2020-06-12 17:50:04 116

原创 MySQL 8 全局变量的修改持久化 set persist

全局变量的修改持久化在8之前的版本中,对于全局变量的修改,其只会影响其内存值,而不会持久化到配置文件中。数据库重启,又会恢复成修改前的值。从8开始,可通过SET PERSIST命令将全局变量的修改持久化到配置文件中。修改持久化mysql> show variables like '%max_connections%';+------------------------+-------+| Variable_name | Value |+------------------

2020-06-12 17:48:26 618

原创 MySQL 8 管理端口admin_port默认是33062

管理端口admin_address: 用于指定管理员发起tcp连接的主机地址,可以是ipv4,ipv6, 或者Host name等等,但只能接受一个ip地址admin_port: 是管理员用来连接的端口号,注意如果admin_address没有设置的话,这个端口号是无效的create_admin_listener_thread: 是否创建一个单独的listener线程来监听admin的链接请求,默认值是关闭的,即会使用已有的监听线程去监听admin连接。该参数同样需要admin_address打开,

2020-06-12 17:46:48 822

原创 MySQL的explain解释SQL执行计划,优化SQL执行和创建索引

mysql> explain select count(*) from orders o , customer c where o.o_c_id=c.c_id and c_last='BARBARBAR' and c_first='YaWRXwdLu3Sq1';+----+-------------+-------+------------+-------+---------------+--------------+---------+------+----------+----------+-

2020-06-12 15:37:25 110

原创 使用parted创建大分区时 mkpart Warning: The resulting partition is not properly aligned for best performance.

fdisk不能创建大于2T的分区,创建大分区得用parted,我在用parted创建分区时遇到下面的警告提示:# parted /dev/sdb(parted) mkpart primary 0 100% Warning: The resulting partition is not properly aligned for best performance.Ignore/Cancel上网搜索的结论是分区起始

2020-06-12 11:36:15 508

原创 在Centos 7或6上安装oracle-rdbms-server-11gR2-preinstall软件包

在linux/unix上安装Oracle数据库软件的过程是个痛苦的过程,包括:依赖的rpm包,内核参数,创建用户等等这些个步骤,一不留神,就会漏下某个步骤。对于Oracle Linux,只需要安装oracle-rdbms-server-11gR2-preinstall RPM包即可全部搞定所有的准备工作,但这个包在centos上没有提供,这里描述如何在Centos上安装这个包。安装Oracle的repository-rw-r--r--. 1 root root 5701 11月 23 2018 Cent

2020-06-12 11:07:52 164

原创 ORA-06553: PLS-801: internal error 的解决办法

搜索了一下,原来是把32位的数据库恢复到64位的数据库了。找到解决方案如下:Cause:-The database on the new location was built using datafiles from a different word-size database. For example, you used the datafiles from a 64-bit database for your new 32-bit database OR you used the datafile.

2020-06-11 16:01:55 69

原创 MySQL 执行计划explain for connection的坑(ERROR 3012 (HY000))

MySQL 执行计划explain for connection是个非常有用的功能,我们可以通过这个命令查看正在执行的SQL的执行计划,对于检查一些执行时间长的SQL非常有用,这个命令的语法是:EXPLAIN [options] FOR CONNECTION connection_id;connection_id是需要被解释的连接的ID。这个id可以通过show processlist或者在连接里面输入SELECT CONNECTION_ID()来查看。但这个功能却有两个常见的坑。一个是不能检查没

2020-06-11 15:38:06 235

原创 MySQL忘记root密码的两种解决方法,skip-grant-tables和init-file

如果忘记了MySQL的root用户密码有两种解决方案。在启动mysqld的时候加上参数skip-grant-tables加入的方法可以是在命令行加入,类似:mysqld_safe —skip-grant-tables &或者修改启动的参数文件,如:/etc/my.cnf或者 /etc/mysql/mysql.cnf ,在[mysqld]下面加上skip-grant-tablesroot@infokist:/etc/mysql# service mysql restartroot@infok

2020-06-10 13:52:45 253

原创 修复DataGuard备库中的datafile坏块一例

模拟备库块损坏使用swingbench给主库施加一定的压力./oewizard -cl -create -scale 1 -cs //192.168.20.205:1521/guangxi -dbap dingjia -u soe1 -p soe1 -ts soe1 -df /u01/app/oracle/oradata/guangxi/soe1.dbf -s ./charbench -c ../configs/SOE_Server_Side_V2.xml -u soe1 -p soe1 -

2020-06-09 14:46:49 206

原创 Linux重新启动后提示 Failed to load SELinux policy. Freezing系统hung住

重新启动之前修改了selinux的配置,disable selinux,估计多半是修改的时候哪里改错了。在网上搜索了一下,解决方案是在系统启动时找到 linux16 那一行,在启动配置像里加一项selinux=0。具体做法是在启动页面,选择要启动的内核 按 E,结果我按了E后,找不到linux16那一行,仔细一看,还有个光标向下的箭头,接着向下按,找到了,改好后如图:然后按ctrol+X,系统可以启动了,启动后检查配置文件/etc/selinux/config中的“SELINUX”参数的值:错误.

2020-06-03 14:53:51 388

Virtualbox安装Oracle 19c 升级到19.8(Oracle Restart和数据库)完整步骤

这个文档是来自鼎甲科技的姚远工作中整理的,在Virtualbox上安装Oracle 19.3 再升级到19.8(Oracle Restart和数据库)完整步骤,包括:配置系统环境,安装grid,oracle,建库,补丁下载升级等全过程。

2020-10-13

GoldenGate19.1 Oracle单向dml配置全过程.pdf

文档说明:GoldenGate19.1 Oracle单向dml配置全过程,源端说19c数据库,asm磁盘组,目标端是 11g,本地文件系统。 作者:鼎甲科技 姚远

2020-10-15

MySQL 数据库最常见的6类故障的排除方法

MySQL 无法启动?MySQL 连接不上?MySQL 挂起(hung)?MySQL 崩溃(crash)……MySQL 数据库日常运维遇到故障,怎么办?!本文与您分享应对这些故障的基本技能和解决问题的思路。

2020-11-13

BackupAndRestoreOfOracleDataGuardWhitePaper.pdf

Oracle DataGuard 备份恢复白皮书,作者鼎甲科技高级技术顾问姚远。提到DataGuard环境下的备份恢复,大家都知道可以在备库上备份,然后恢复到主库,但您知道在生产中实施会遇到多少坑吗?实际生产中我们看到了太多在主库上进行备份,而让备库闲着的现象。这个文档带您深入了解DataGuard环境下的备份恢复

2020-09-30

Oracle DataGuard备份恢复最佳实践

提到DataGuard环境下的备份恢复,大家都知道可以在备库上备份,然后恢复到主库,但您知道在生产中实施会遇到多少坑吗?实际生产中我们看到了太多在主库上进行备份,而让备库闲着的现象。本次课程将带您深入了解DataGuard环境下的备份恢复。 讲师介绍:姚远,专注于 Oracle、MySQL 数据库多年,拥有Oracle 10g、12c OCM, MySQL 5.6、5.7、8.0 OCP,并在:EMC、IBM p、RedHat、Cisco、SQL Server、DB2等领域拥有20+技术认证。两次获得国家部级科技进步奖,拥有两项计算机发明专利。现为鼎甲科技高级技术顾问。

2020-09-27

mysql-enterprise-backup-4.1-en.pdf

MySQL Enterprise Backup是一款专门用于备份MySQL数据库发工具。它是一个跨平台的高性能备份工具,它具有丰富的功能,包括:热备份,增量备份,选择备份,直接备份到云,加密,压缩备份等。

2020-05-16

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除