Oracle 数据库通常建议开启归档模式,记录数据库操作的记录归档到本地日志文件! 可以通过以下命令查看是否开启归档: archive log list 如图,即已开启归档! 有啥好处呢?...开了归档之后,可以 RMAN 实时备份数据,配置 DataGuard 必须开启归档模式,数据库基本能保证零丢失!...开启归档模式的步骤: 1、设置归档路径 alter system set log_archive_dest_1='LOCATION=/archivelog'; 这个 /archivelog 目录需要是磁盘中物理存在的路径...,否则无法归档!...2、关闭数据库,开启到mount状态 shutdown immediate startup mount 如果是 rac 集群环境,使用 srvctl 来关闭所有节点数据库,然后打开一个节点到 mount
##关闭数据库实例 srvctl stop database -d p19c0 ##开启单个节点到mount模式 srvctl start instance -d p19c0 -i p19c01 -o...mount ##开启归档 sqlplus / as sysdba alter database archivelog; ##设置归档路径 ALTER SYSTEM SET LOG_ARCHIVE_DEST...=+DATA'; exit; ##重启数据库实例 srvctl stop instance -d p19c0 -i p19c01 srvctl start database -d p19c0 ##检查归档
2 数据通过MYSQL dump 或者其他的备份方式,将数据备份出来,在将数据恢复到数据归档库中,然后将备份的数据直接手动清理掉,这样的做法速度也很快,对业务的影响也比较小,基本上可以算是透明的方式了...下面就是一个MYSQL 针对一个数据库表归档的案例(这个案例也是有缺陷的,但目前是秉承着够用就好,以及时间成本的原则) 首先设计一个归档要考虑的问题如下 1 归档表的大小,以及每日最大,或最小的归档数据量...以下以最简单的自动化的方案来讲 下图是基于案例来讲的 因为数据库是MYSQL 所以考虑了归档一次是多大的批量,避免归档数据量过大的时候将生产库hang 死,另外配置表主要的功能是有两个 1 限制一次拷贝和清理的数据量...这样归档有没有缺点,当然有,缺点马上就可以说出几个 1 为什么还要在本地机归档数据,不应该是传送到其他机器上吗 2 为什么不设置每次归档的数量限制(每次限制操作的行数),这对MYSQL不是很用吗,为什么要写死...3 为什么要用MYSQL 存储过程来做,使用python不是更灵活 其实一言难尽,都和需求有关,所以很多设计出来的东西,外人一看一堆毛病,如果你进入到他的内部,一段时间估计你就懂得为什么会设计出这样或那样的东西
《mysql学习笔记》 1.打开与关闭mysql mysql -uXXX -pXXX #其中XXX为用户名和密码 #成功进入后提示符变为...which mysqld 查看路径 配置文件 : /etc/my.cnf 2.使用某数据库 use 库名 #mysql安装完成后默认建立mysql...版本 #查看mysql的连接权限 select host,user from mysql.user order by user; #查看某主机用户有哪些权限...$ mysql < batch-file # 基本结构 batch-file为mysql脚本 $ mysql -h host -u user -pxxx <batch-file...--no-data -d 14 mysqlbinlog 日志与数据恢复(略) 15 修改密码 安装好的Mysql首次登录后, mysql> update mysql.user
删除或归档一张大表,导出文件等,可以进行主从同步数据 [mysql@mysqlt1 bin]$ ....增加该值可以提升归档性能。...[mysql@mysqlt1 bin]$....,源表不删除,批量插入 [mysql@mysqlt1 bin]$ ....10常用的命令:归档到另一个数据库,源表删除,批量删除和插入,每1000次修改进行提交。跳过错误并且指定字符集连接 [mysql@mysqlt1 bin]$.
作者:Mike Frank 译:徐轶韬 在此博客中,我将演示如何在许多mysql实例之间将审计日志进行合并归档。...将这些行从已审计的数据库插入到审计数据归档的MySQL数据库中。如您所见,mysqlx API将使事情变得更加简单。 一些事实。...首先让我们以管理员身份登录到归档MySQL服务器实例上–我将使用root。整个示例都需要使用mysql shell。它包括用于从目标服务器提取审计数据进行计划批处理归档的python。...步骤1 –审计归档数据库设置。...首先,我将使用mysqlx API通过自己的会话连接到读取服务器和归档服务器。 将“ localhost”更改为归档服务器的ip /主机名。
我们知道,在MySQL中,redo log是一个文件组,一般是3个文件,循环写入,写满的时候会做redo log层面的checkpoint,然后覆盖之前的redo log;而binlog是有归档功能的...,每个binlog写满之后,都会重新开启下一个binlog开始写入,这也是为什么可以使用binlog来进行数据恢复的一个原因,就是因为它的归档功能。...MySQL8.0.17中引入了redo log的归档功能,如果我们开启归档功能,redo log会持续不断的生成,而不会覆盖掉之前的redo log。这个功能主要在哪种场景下应用呢?...: 1、目录必须存在,而且其他用户不可访问,最好是700的权限模式 2、该用户目录不能和datadir、innodb_tmpdir、以及其他mysqld的运行目录重合,需要单独创建 开启redo log...的归档的过程: # 动态设置参数 mysql >>set global innodb_redo_log_archive_dirs='tmp_redo_dir: /tmp' ; Query OK, 0 rows
什么是tar 内容写入归档 如何从本地磁盘读取归档文件的内容呢? 什么是tar ?...也是Linux常见的压缩归档的处理方法 内容写入归档 package main import ( "archive/tar" "bytes" "fmt" "io" "log"...(buf) 参数是一个缓冲类型的指针 3.写入归档文件时 需要先创建一个文档的头部 tar.Header 添加相应的参数 比如文件的名称 文件长度 和模式等等 4.内容全部写入归档缓冲区后,请调用close...()关闭归档写入 如何将归档后的文件写入磁盘?...ioutil.WriteFile("归档",buf.Bytes(),os.ModePerm) ? image.png 如何从本地磁盘读取归档文件的内容呢?
归档 基本概念 - 对象归档是指将对象写入文件保存在硬盘上,当再次重新打开程序时,可以还原这些对象。你也可以称他为对象序列化,对象持久化。...归档的形式 对Foundation库中对象进行归档 自定义对象进行归档(需要实现归档协议,NSCoding) 归档后的文件是加密的,属性列表是明文的。...示例 归档(序列化) //对数组进行归档,归档文件名为temparray 后缀名可以任意 NSString *homeDirectory = NSHomeDirectory(); NSArray *...%@",unArray); 自定义内容归档示例 归档 使用 NSData 实例作为归档的存储数据 添加归档的内容(设置key与value) 完成归档 将归档数据存入磁盘中 解归档 从磁盘读取文件,生成...NSData 实例 根据 Data 实例创建和初始化解归档实例 解归档,根据key 访问 value 的值 代码实例 归档 NSString *homeDirectory = NSHomeDirectory
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; mysql> flush privileges; 第一句中”%...如果要限制只有某台机器可以访问,将其换成相应的IP即可,如: GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root"; 第二句表示从mysql...因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载 修改配置文件 配置文件只会在两者中个一个 vim /etc/mysql/mysql.conf.d/mysqld.cnf vim.../etc/mysql/my.cnf 如果有就要注释如下代码 #bind-address = 127.0.0.1 对于使用国人lnmp一键安装包的童鞋,需要删除iptables的规则才能生效 iptables...-L -n --line-numbers iptables -D INPUT 5 #删除即可 重启mysql service mysql restart
前言 学习MySQL重新整理以前非MK的记载 ---- 描述 没有开启的话连接数据库报错:2003-can't connect to MYSQL ---- 方法/步骤 第一步 远程连接上Linux...系统,确保Linux系统已经安装上了MySQL数据库。...mysql -u$user -p $pwd 第二步 创建用户用来远程连接 GRANT ALL PRIVILEGES ON *.* TO '$username'@'%' IDENTIFIED BY...; 第五步 然后打开vim /etc/mysql/my.cnf 将bind-address = 127.0.0.1 设置成bind-address = 0.0.0.0(设备地址) 重新启动 /...etc/init.d/mysql restart 查看MYsql全局的端口( 默认是3306 ) #查看端口号 show global variables like 'port'; 至此已经配置完成
1.背景 安装好 mysql 后,一般会使用客户端连接(必须Navcat)。本文描述了怎么设置远程连接。...2.思路 修改 root 账户的 host 等于 % 防火墙增加3306端口 处理密码的加密方式 3.操作 3.1 修改 root 账户的 host 等于 % 先看下 用户表的信息 use mysql...image.png 注意:这里的 root 账户的 host 的值是 localhost 开始修改,执行: mysql> use mysql; mysql> update user set host...3.2 重启 mysql systemctl stop mysqld.service systemctl start mysqld.service 3.3 为防火墙添加 3306 端口 # 为防火墙添加...; 看下修改后样子 执行 select host,user,plugin,authentication_string from mysql.user; ?
运行sql show variables like 'log_bin'; 如果Value 为 OFF 则为开启日志文件 如何开启mysql日志?...找到my,cnf 中 [mysqld] 添加如下 [mysqld] # binlog 配置 log-bin = /usr/local/var/mysql/logs/mysql-bin.log expire-logs-days...= 14 max-binlog-size = 500M server-id = 1 如果没有my.cnf 或者是集成的环境 找到my.ini 中 [mysqld] 添加如上 重启mysql后
# vim /etc/my.cnf.d/server.cnf 没有就是 # vim /etc/my.cnf #在mysqld标签下添加 #指定错误日志保存位置 log-error=/test_log/mysql_log.../error.log #开启通用查询日志 general_log=ON #指定通用查询日志保存位置 general_log_file=/test_log/mysql_log/mysql.log #开启慢查询日志...slow_query_log=on #记录超过1秒的SQL执行语句 long_query_time=1 #指定慢查询日志的保存位置 slow-query-log-file=/test_log/mysql_log.../slowquery.log 重启MySQL service mysqld restart
线上的MySQL网页加载速度慢,可能是有慢查询,需要分析一下 编辑Mysql 配置文件(my.cnf),在[mysqld]字段添加以下几行,记录超过1秒请求的SQL语句: vi /etc/my.cnf...log_slow_queries = /usr/local/mysql/var/slow_queries.log long_query_time = 1 分析日志 /usr/local/mysql/bin.../mysqldumpslow /usr/local/mysql/var/slow_queries.log 备注: 按照标准来讲,一个sql,运行超过0.3秒,就算慢查询了
1.netstat -anpl | grep mysql 查看mysql的端口 如果没有请确定你的mysql已经成功安装好并运行 ps aux | grep mysql 查看mysql进程 2.centos7...-add-port=3306/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效 重启防火墙: systemctl restart firewalld.service 3.开启远程连接...方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%" #mysql -u root -proot mysql>use...mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user...; 方法二、直接授权(推荐) 从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器: # mysql -u root -proot mysql
前言: GTID 是 MySQL 5.6 的新特性,可简化 MySQL 的主从切换以及 Failover。...但是当我们开启 binlog 时,MySQL 并没有默认开启 GTID ,好在 GTID 可以在线开启,本篇文章我们一起来看下如何在线开启 GTID ,如果你的数据库实例原来未启用 GTID ,可以参考本篇文章来开启...在线开启 GTID 步骤 我们以 MySQL 5.7.23 社区版为例,演示下如何在线开启 GTID 。...未更改前,请确保你的环境已开启 binlog 二进制日志,且 gtid_mode = OFF 。 第一步:检查数据库中是否有不支持 GTID 的操作。...参考: https://www.modb.pro/db/427795 https://dev.mysql.com/doc/refman/5.7/en/replication-mode-change-online-enable-gtids.html
MySQL开启远程连接 在Linux上面装完MySQL 或 MariaDB,远程登录报错 Host is not allowed to connect to this MySQL server,是因为没有开启远程登陆...解决方法如下: 1、在装有MySQL的机器上登录MySQL; mysql -u root -p你的密码 2、执行下面命令; use mysql; 3、执行下面命令,执行完可能会报错,不用管它。...update user set host = '%' where user = 'root'; 4、继续执行命令,来刷新MySQL的权限相关表; FLUSH PRIVILEGES; 经过上面4步,就可以解决这个问题了
前言 本文主要介绍 MySQL 是如何开启一个事务的,相关资料也可以查阅官方文档。...https://dev.mysql.com/doc/refman/8.0/en/commit.html 方式 1 START TRANSACTION 或 BEGIN 开始新的事务 COMMIT 提交当前事务...ROLLBACK 回滚当前事务 这是大家熟知的一种方式,其中开启事务的方式 start transaction 和 begin 是相同的。
,例如我的显示(安装地址可能会不同) [root@localhost ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/...为例): which mysql 终端显示: [root@localhost ~]# which mysql /usr/bin/mysql 方法一:修改mysql的my.cnf文件 Linux:...host_name-slow.log) long_query_time=1 (记录超过的时间,默认为10s) log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启... sec) mysql> show variables like ”%slow%”; //查看一下慢查询是不是已经开启 +———————+———————————+ | Variable_name... variables like ”%slow%”; //查看是否已经开启 +———————+———————————+ | Variable_name | Value
领取专属 10元无门槛券
手把手带您无忧上云