Database

linux每天定时备份MySQL数据库并删除五天前的备份文件

星期五, 三月 17th, 2017 | Database, JAVA-and-J2EE | 没有评论

MYSQL定期备份常用脚本如下:

1. mkdir -p /bak/mysqlbak
 
2.vi bakmysql.sh
内容如下
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#
backupdir=/bak/mysqlbak
time=` date +%Y%m%d%H `
/usr/local/webserver/mysql/bin/mysqldump -root-pxxx -S /tmp/mysql.sock  xx| gzip > $backupdir/xx_$time.sql.gz
#
find $backupdir -name "xx_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1

› Continue reading

MySQL表类型和存储引擎的修改遭遇版本不一致

星期五, 七月 25th, 2014 | Database, JAVA-and-J2EE | 没有评论

使用的是老版本的mysql客户端Navicate 8 ,mysql 服务端用的是mysql5.6的版本,在修改版本引擎的时候出现版本不对;

mysql error ‘TYPE=MyISAM’

解决办法:
Replace

TYPE=MyISAM

with

ENGINE=MyISAM

The problem was “TYPE=MyISAM” which should be “ENGINE=MyISAM” as per MySQL version updates – a simple search / replace has fix it.

附 修改表引擎sql:alter table db.user engine =MyISAM;

Tags: ,

mysqldump导出部分数据和insert into 复制部分数据

星期二, 六月 10th, 2014 | Database, linux | 没有评论

今天想导出部分数据找了半天终于找到对应的几个方法

首先看下字符集,省的导出的时候是乱码

1.用命令

mysql> SHOW VARIABLES LIKE "character_set%";

根据对应的字符集value决定采用导出字符latin1 还是utf8

2.采用 –where的方式导出

mysqldump -uroot -p123456 --default-character-set=latin1  i5a6  i5a6_data --where=" id < 100" > bki5a6.sql

3.采用创建新表结构和原来表相同复制部分数据的形式再全部导出新表数据即可

INSERT INTO Table2(field1,field2,...) SELECT value1,value2,... FROM Table1

涉及更多 mysql备份导入导出说明(二进制导出等) 参见 :http://blog.i5a6.com/1088.html

完毕,感觉采用mysqldump 导出的时候更省事,流着以后用的时候好直接翻阅

Tags: , ,

mysql备份导入导出说明和对应的shell脚本

星期六, 十二月 22nd, 2012 | Database | 没有评论

1.导出整个数据库(–hex-blob 为有blob数据做的,防止乱码和导入失败用)
  mysqldump -u 用户名 -p 数据库名 > 导出的文件名

1
  mysqldump -u root -p --default-character-set=gbk --hex-blob i5a6 > i5a6.sql

2.导出一个表

  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

1
  mysqldump -u root -p i5a6  users> i5a6.sql

3.导出一个数据库结构

1
  mysqldump -u root -p -d --add-drop-table i5a6 >d:/i5a6.sql

  -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库

  常用source 命令

  进入mysql数据库控制台,

  如mysql -u root -p

  mysql>use 数据库

  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

1
  mysql>source d:/i5a6.sql

› Continue reading

Tags: , ,

MySQL Installer 5.5.29在win7下安装失败解决

星期六, 十二月 22nd, 2012 | Database | 没有评论

今天下载了最新版的mysql,安装的时候遭遇 Last error: unable to configure service,在最后配置的时候出错.

几次三番都是一样,端口3306肯定是没有占用,系统也从来没有装过mysql,很是诡异.

最终的解决之法居然是换个安装目录,本人前次是安装在 D:/soft/db换成D:/db下居然好了,难道和/s有关???

如下步骤成功安装。
1.首先卸载没有成功安装的MYSQL的一系列东东

2.清理下注册表,cmd下运行 regedit 后-F3-搜索你的安装路径,我的是:D:/soft/db.删除所有能找到的键或者键值.(蛮多的)

3.使用netstat -na 确保3306端口未被占用,换个端口应该也行,我的3306没有用

4.更换安装目录为D:/db

Tags: ,

解决远程连接mysql速度慢方法

星期日, 九月 30th, 2012 | Database, php | 没有评论

换个了mysql和 代码不在同一个机器上,开启远程连接mysql发现连接的速度好慢,总要加上加载网页的要2-3秒的时间,无法忍受;

在网上找了下原因,终于解决,方法还是挺简单的 .

在my.ini或者my.cnf 文件 的 [mysqld]处添加skip-name-resolve 重启即可

主要原因 是去跳过dns解析

1
2
3
4
5
[mysqld]
#dns cancel
skip-name-resolve
#grant cancel  no advocate (不提倡,此处跳过权限检查,即使更快)
skip-grant-tables

注意:1.skip-name-resolve 是禁用dns解析,可以大幅提升远程连接速度,副作用是不能使用 mysql的授权表中就不能使用主机名了,只能使用IP

2.对于要使用localhost的本机用户 要开启 127.0.0.1 给对应的用户权限,否则帐号无法连接,

本人的 root用户只开了localhost 的时候,发现不能连接上phpmyadmin,而后添加127.0.0.1的权限后,就一切正常了

3.skip-grant-tables 为跳过用户的对应的权限设置,即所有用户都是root权限,在特定的情况下使用吧.

Tags: , , , ,

Microsoft SQL Server 2008 (RTM) 升级到 Microsoft SQL Server 2008 R2的操作

星期三, 五月 16th, 2012 | Database | 没有评论

Microsoft SQL Server 2008 (RTM) 升级到 Microsoft SQL Server 2008 R2的操作 ,记录x64位系统和32位系统
使用:
select @@VERSION 查询版本号
32位系统显示:
Microsoft SQL Server 2008 (RTM) – 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Developer Edition on Windows NT 6.0 (Build 6001: Service Pack 1)

去下载:SQLFULL_x86_CHS:http://care.dlservice.microsoft.com/dl/download/1/E/6/1E626796-588A-495C-917B-321093FB98EB/2052/SQLFULL_x86_CHS.exe?lcid=2052&ptype=pcare

64位系统显示:
Microsoft SQL Server 2008 (RTM) – 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)

去下载:SQLFULL_x64_CHS:http://care.dlservice.microsoft.com/dl/download/1/E/6/1E626796-588A-495C-917B-321093FB98EB/2052/SQLFULL_x64_CHS.exe?lcid=2052&ptype=pcare

以升级方式:(序列号在网上找的)
需要输入序列号,必须选这一项:
=========================================
数据中心版:PTTFM-X467G-P7RH2-3Q6CG-4DMYB
DDT3B-8W62X-P9JD6-8MX7M-HWK38
=========================================
企业版:R88PF-GMCFT-KM2KR-4R7GB-43K4B
GYF3T-H2V88-GRPPH-HWRJP-QRTYB
=========================================
标准版:CXTFT-74V4Y-9D48T-2DMFW-TX7CY
B68Q6-KK2R7-89WGB-6Q9KR-QHFDW
=========================================
开发版:MC46H-JQR3C-2JRHY-XYRKY-QWPVM
FTMGC-B2J97-PJ4QG-V84YB-MTXX8
=========================================
工组版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6Q
=========================================
WEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM
=========================================

Tags: , , , ,

SQL Server的版本号(SQL Server 2000 & 2005 & 2008)及查看方法

星期日, 五月 13th, 2012 | Database | 没有评论

今天要查询自己的装的sqlserver2008 是否是R2版本,搜索了下,发现很多人查询此问题,现在记录如下,通过版本命令查询
同时也了解了哥哥sql server的对应版本好,一看就非常清晰了,记录下
一、查看 SQL Server 2005/2008 版本号

select serverproperty('productversion') ,serverproperty('productlevel') ,serverproperty('edition')

下面是 SQL Server 2005 版本号查询结果信息:

version level edition
———— —- ——————-
9.00.3042.00 SP2 Enterprise Edition

下表是 SQL Server 2005 版本号信息:

SQL Server 2005 版本号 SQL Server 2005 版本描述
———————– ——————————
2005.90.1399 RTM (Release to Manufacturing)
2005.90.2047 SQL Server 2005 SP1
2005.90.3042 SQL Server 2005 SP2
2005.90.4035 SQL Server 2005 SP3
2005.90.5000 SQL Server 2005 SP4

下表是 SQL Server 2008 版本号信息:

SQL Server 2008版本号 SQL Server 2008 版本描述
———————– ——————————
10.0.1600.22 RTM
10.00.2531.00 SQL Server 2008 SP1
10.00.4000.00 SQL Server 2008 SP2
10.50.1600.1 SQL Server 2008 R2 (RTM)
› Continue reading

Tags: , ,

mysql见鬼操作source备份sql失败记录

星期五, 五月 11th, 2012 | Database | 没有评论

很见鬼的操作,明明在命令行use databaseA,source 对应sql都显示成功.
完成去数据库查询,居然一个表都没有,重启电脑执行依然如故.
自己写个小的sql去source倒是可以.

解决办法: 关闭你的所谓360系列软件和你的杀毒软件系列
然后再执行,发现一切都正常了.

具体什么原因,我到现在也不得而知,彻底无语,难道防护过头了??

Tags: , ,

解决MYSQL超时连接问题(com.mysql.jdbc.MysqlIO.readFully)

星期一, 二月 6th, 2012 | Database | 2条评论

程序后台报这个错误 at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2332) ,
** END NESTED EXCEPTION **

Last packet sent to the server was 34 ms ago.
这个问题主要原因是应用服务器很长时间没有连接mysql,超过了mysql设置的最大超时时间,再连接mysql就会出现这个问题。
mysql默认设置是8小时,一般网站白天都有人访问,从夜里到早上一般都会超过8小时,所以再来访问就会这个问题。

简单的解决办法就是修改最大超时时间,比如改为12小时或10小时,这样恰好避免了无人访问的时段,这里修改为10小时,方法如下:
看来下 wait_timeout 才15真不是一般的短,系统默认安装的就是麻烦.
设置下即可

mysql> show variables like ‘%timeout’;
+—————————-+——-+
| Variable_name | Value |
+—————————-+——-+
| connect_timeout | 15 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 15 |
+—————————-+——-+
10 rows in set (0.00 sec)

mysql> set wait_timeout = 36000;
Query OK, 0 rows affected (0.00 sec)

mysql> set interactive_timeout = 36000;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like ‘%timeout’;
› Continue reading

Tags: ,

Rss

Search

文章分类

Meta