存档

文章标签 ‘MySQL’

阿里云ESC本地数据库迁移至RDS数据服务过程总结

2016年5月14日 2 条评论

阿里云ESC本地数据库迁移至RDS数据服务过程总结:
简单说分为以下三步:
1、购买RDS服务,创建数据库账号,创建数据库,(这里的RDS容量请至少为你数据库占用空间的2倍多一点;下面会解释为什么);
2、在本地数据库中创建迁移帐号,给迁移帐号授权,开启本地数据库的 binlog;
3、创建数据迁移任务(就是购买数据传输服务),付费!
4、配置迁移信息:填写本地和RDS数据信息,开始迁移,等待完成;
基本思路就是这样,详细教程可以参考阿里云官方教程https://help.aliyun.com/document_detail/26132.html这里就不复制粘贴了。

主要记录一下遇到的问题:
1、错误1:错误:获取迁移结构失败,原因[连接超时,请检查您的防火墙设置;
这个问题,需要本地通过公网或者通过第三方工具测试连接服务器的3306端口,如果不能连接,也是不行的,注意检查一下端口监听;主要还是防火墙的问题,我的3306在防火墙禁止外网访问,需要开通一下,用到下面两个命令:
将所有iptables以序号标记显示,执行命令查看3306的序号:
iptables -L -n –line-numbers
比如要删除INPUT里3306的规则的序号为8,执行:
iptables -D INPUT 8
#允许访问3306端口
iptables -A INPUT -p tcp –dport 3306 -j ACCEPT
这里我没有保存规则,因为service iptables save 保存不了啊啊啊啊,CentOS7.0的貌似改了防火墙的命令还是什么的,反正暂时3306是可以外网访问了;重启之后访问不了也无所谓,本地的mysql在转移完数据之后还是要停掉的。
2、错误2:请先到RDS控制台的数据库管理页面中,创建满足rds规范的数据库 ,将读写权限赋给迁;
在RDS创建数据库的时候,需要与本地ESC准备迁移的数据库名称一致,且数据库名只能以字母开头,否则无法完成迁移;我的源数据库名是数字开头的,还修改了一下才可以;
3、错误3:源库binlog format 不是row
这个是比较折腾我的,本地数据库的binlog问题,官方教程的配置参数binlog_format=row,但是我用的lnmp环境默认是binlog_format=mixed;按照官方给的配置修改为binlog_format=row;mysql就会启动不了,恢复binlog_format=mixed;之后可以正常启动mysql;
后来看到官方有个检测工具提示让直接在mysql中执行set global binlog_format=ROW;然后就好了,说实话没理解什么原因,反正就能用了;

当看到开始转移的时候,还是很激动的,给老廖发了成功开始的截图,因为这几天都是他一直不厌其烦的回答我各种问题,感谢老廖;

阿里云RDS使用DTS数据迁移

阿里云RDS使用DTS数据迁移


数据大概5个G,给老廖发第一个截图的时候进度是9%,20分钟之后就60%了,还是不错的。
阿里云RDS数据迁移过程

阿里云RDS数据迁移过程


然后增量备份的时候出问题了,因为我当时买的是RDS容量是10G,以为可以放下5G多的数据,但是当DTS数据完成结构迁移、全量迁移之后,系统产生了备份,导致我的数据库占用空间为11.09G,然后RDS数据库就被锁死导致无法完成增量备份。所以在开始时候建议要使用这个在线迁移功能的,RDS容量请至少为你数据库占用空间的2倍多一点。

遗留问题:binlog_format=row为什么启动不了mysql?service iptables save在Centos7中咋就不能用了呢?增量备份时候被锁死了,然后升级了容量也没有自动继续,不知道啥原因?

当phpmyadmin无法导入大体积sql文件的解决方法

2014年5月29日 没有评论

首先你得有服务器的SSH登陆权限!

Linux系统下导入大体积sql文件数据库的操作
先上传sql文件到服务器指定目录,并记下路径备用

登陆数据库:

提示:你可以先修改部分代码再运行。

提示输入密码后

提示:你可以先修改部分代码再运行。

调用sql文件所在地址:

提示:你可以先修改部分代码再运行。

等待导入完成即可

分类: 网站技术 标签: ,

何如关闭WordPress自动保存与修订记录

2010年8月18日 没有评论

今天介绍比使用插件更好的办法来修改代码关闭WordPress的自动保存与修改记录的功能。WordPress从2.6版本就开始增加了修订记录和自动保存的功能,这两个功能可以很方便地记录每篇文章的改动,并在你编辑的时候帮你定时自动保存进度。

然而当你有一定数量的文章,并不需要保存修订记录时,这时候修订记录就反而成为了增加数据库负担的一个功能。当然有现成的插件可以帮你关闭并删除修订记录的功能,但是本着“能不用插件,就不用插件”的在原则,这里简单介绍一些不用插件修改代码关闭WordPress的自动保存与修改记录的功能的办法。

自动保存的功能事实上也会在数据库内部产生修订记录。如果不通过插件或者修改程序代码的话,标准的WordPress是无法真正的关闭自动保存功能的,但是允许你设置每次自动保存的间隔。默认的时间间隔是60秒,我们可以修改间隔时间来关闭自动保存:

打开安装目录下的wp-settings.php,并找到这行:

提示:你可以先修改部分代码再运行。

默认的是60,你可以设置个一天的,把60改成86400,也可以设置个一年的,哈哈,一年的话就是把60改成31536000。
这样就变相地关闭了自动保存功能,同时也不会产生修订记录了。

·下面看看如何彻底关闭修订记录:
打开安装目录下的 wp-config.php 并找到这行:

提示:你可以先修改部分代码再运行。

在这一行的前面,看清楚了是前面的任意地方,甚至可以是文件的开头添加下面的代码:

提示:你可以先修改部分代码再运行。

保存之后,上传替换原来的文件,这时候修订记录的功能就被关闭了。是不是很简单呢?

如果说你想在这个点上达到最大程度优化,你也可以删掉原有的修订记录,只要连进数据库并按顺序运行以下SQL语句就可以了:

提示:你可以先修改部分代码再运行。

特别提醒:数据库操作有风险,修改之前请做好备份再修改。修改文件代码也一样,呵呵。

Dos下修复Mysql数据库及Mysqlcheck命令使用详解

2010年6月11日 没有评论

今天Myphpadmin出问题了,又急着要修复一个数据库,想着Dos下修复一下就好了,但是突然发现把很多Dos命令都忘得差不多了,下面就讲讲简单的Dos下修复Mysql数据库及Mysqlcheck命令使用详解

直接进入某盘符,盘符:
如直接进入D盘,d:

显示盘符内容及路径:
dir d:

改变改变当前目录,进入指定文件夹
cd d:\web\mysql545\bin

(1)如果省略路径和子目录名则显示当前目录;  (2)如采用“cd\”格式,则退回到根目录;  (3)如采用“cd..”格式则退回到上一级目录。

修复所有的数据库
mysqlcheck -A -o -r -uroot -p888888
修复指定的数据库
mysqlcheck -A -o -r -uroot -p888888 dataname

下面查看一个实例: 阅读全文…

分类: 技巧分享 标签: ,

如何让MySql允许远程连接(图文设置教程)

2010年5月14日 4 条评论

 如何让MySql允许远程连接的图文设置教程,和大家分享一下,保存以后备用。

为了资源的合理利用,你可能想要把web服务器与数据库服务器独立开来,这时候就会用到mysql的远程连接设置,使网站得以正常运行。
首先关闭服务器上的防火墙。然后进行以下操作。(这里介绍了3种设置方法,你可以选择任意一种)
1. 改表法。

可能是你的帐号不允许从远程登陆访问,只能在localhost。只要在localhost的那台服务器上,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -pvmware

mysql>use mysql;

mysql>update user set host = ‘%’ where user = ‘root’;

mysql>select host, user from user;

2. 授权法。 阅读全文…

分类: 技巧分享 标签: ,

MySQL修改root密码的方法

2010年5月5日 没有评论

方法1: 用SET PASSWORD命令
  mysql -u root
  mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);

方法2:用mysqladmin
  mysqladmin -u root password “newpass”
  如果root已经设置过密码,采用如下方法
  mysqladmin -u root password oldpass “newpass”

方法3: 用UPDATE直接编辑user表
  mysql -u root
  mysql> use mysql;
  mysql> UPDATE user SET Password = PASSWORD(‘newpass’) WHERE user = ‘root’;
  mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样
  mysqld_safe –skip-grant-tables&
  mysql -u root mysql
  mysql> UPDATE user SET password=PASSWORD(“new password”) WHERE user=’root’;
  mysql> FLUSH PRIVILEGES;

分类: 技巧分享 标签: