-
mysql备份并加密的脚本
日期:2011-12-25 | 分类:Mysql数据库
前不久CSDN 发生用户“帐号密码泄露”事件,如果他们09年的备份文件进行了加密,我想损失也不会这么惨重了。所以我们对数据库进行备份的时候,也需要对备份文件进行加密,以往万一。下面就是对mysql进行备份并进行加密的脚本。
#!/bin/sh#mysqlback... -
统计mysql某个数据库的大小
日期:2011-08-01 | 分类:shell
./mysql -uroot -p'password' -D dbname -e "show table status\G"| egrep "(Index|Data)_length" | awk 'BEGIN { rsum = 0 } { rsum += $2 } END { print rsum/1024/1024 "MB" }'
-
通过shell脚本插入msyql数据库的两种写法
日期:2011-05-24 | 分类:shell
插入单条数据[root@iknowing-test tools]# vi insertmysql.sh#!/bin/bash
HOSTNAME="192.168.1.153"
PORT="3306"
USERNAME="root"
PASSWORD="password"
DBNAME="test_rp"
TABLENAME="see"
mysql -u$USERNAME -p$PASSWORD -h$HOSTNAME< use $DBNAME;
insert into see(username) values('ff-bb.cn');
select * from $TABLENAME;
EOF
插入1500条数据。通过while循环,插入1500条同样的数据
[root@iknowing-test tools]# vi insertmanymysql.sh
HOSTNAME="192.168.1.151"
PORT="4040"
USERNAME="root"
PASSWORD="password"
DBNAME="test_rp"
TABLENAME="see"
n=wname
i=1
while [ $i -lt 1500 ]
do
#echo "$n$i"
#mysql -u$USERNAME -p$PASSWORD -h$HOSTNAME -P$PORT< mysql -uroot -p$PASSWORD -h$HOSTNAME -P$PORT -e "insert into test_rp.see(username,date) values('www.ff-bb.cn','1984-8-8');"
i=`expr $i + 1`
done -
开启Mysql远程访问(Windows\Linux都适用)
日期:2011-04-12 | 分类:Mysql数据库
开启Mysql远程访问,windows下,如果当时在安装mysql的时候没有启用可远程访问,现在需要启用。
或者是在linux下安装好mysql之后需要启用可远程操作管理。操作如下,只有2步;
1 修改my.conf
bind-address = 127.0.0.1
注释掉,改为#bind-address = 127.0.0.1
2.用root登陆mysql执行如下命令
grant all on *.* to sonar@'%' identified by 'password123456';
grant all on *.* to sonar@localhost identified by 'passwor123456'; -
Ubuntu下彻底卸载mysql
日期:2011-03-30 | 分类:Linux-Ubuntu
Ubuntu下彻底卸载mysql
1、删除 mysql
1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (非常重要)
上面的其实有一些是多余的,建议还是按照顺序执行一遍
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2011/0218/29452.php -
解决Can't connect to MySQL server on 'localhost' (10048)
日期:2011-03-03 | 分类:Mysql数据库
解决Can't connect to MySQL server on 'localhost' (10048), 一般见于使用mysql的windows 2003服务器.
c:>netstat -ano 可查看到 本机有不少端口连接到 mysql的 3308,状态都是LAST_ACK,所以导致discuz论坛 刷新会出现 不能连接数据库的报错。
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:4994 127.0.0.1:3308 LAST_ACK 1400
TCP 127.0.0.1:4996 127.0.0.1:3308 LAST_ACK 1400
TCP 127.0.0.1:4999 127.0.0.1:3308 LAST_ACK 1400
错误出现的原因:
应用程序需要快速释放和创建新连接, 但是由于 TIME_WAIT 中存在的连接超过默认值,导致较低吞吐量.
微软技术支持知识库中指出 :当您试图从大于 5000 的 TCP 端口连接时收到错误 http://support.microsoft.com/kb/q196271/
我从本地端口可以看到 127.0.0.1:4999 已经到了5000
解决方案:
和本错误密切相关的两个windows的注册表项:TcpTimedWaitDelay和MaxUserPort的值.
TcpTimedWaitDelay 确定 TCP/IP 可释放已关闭连接并重用其资源前, 必须经过的时间. 关闭和释放之间的此时间间隔通称
TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态. 此时间期间, 重新打开到客户机和服务器的连接的成本少于建立新连接. 减
少此条目的值允许 TCP/IP 更快地释放已关闭的连接, 为新连接提供更多资源.
MaxUserPort 确定从系统请求任何可用用户端口时所用最大端口数,TCP/IP 可指定的最高端口号. 如果建立 TCP 连接最大端口连
接大于 5000, 本地计算机响应以下错误信息WSAENOBUFS (10055): 因为系统缺乏足够缓冲区或者因为队列已满而无法执行套接字
上操作, 从而导致应用程序的10048错误.
打开注册表编辑器regedit
TcpTimedWaitDelay 设置:
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键
并创建名为 TcpTimedWaitDelay 的新 REG_DWORD 值
设置此值为十进制 30, 十六进制为 0x0000001e
该值等待时间将是 30 秒。设置范围30-60秒
本项的默认值:0xF0(16进制), 等待时间设置为 240 秒
MaxUserPort 设置(增加最大值端口连接):
找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 注册表子键
并创建名为 MaxUserPort 的新 REG_DWORD 值
设置到 65535
该值等待时间将是前面所设置的 30 秒。本项的默认值:5000(十进制)
关闭注册表编辑器, 在方便的时刻重启Windows系统。
建议以上操作现在测试环境中测试之后再调整生产线上的服务器
问题得到解决。这个是治标。如果要治本,还需要查看PID值,我这里出现状态为LAST_ACK 的PID值是1400,从任务管理器中可以看到这个PID对应的是tomcat6.exe,可见问题出在tomcat下某个程序。
-
mysql unknown command ‘\”‘问题解决办法
日期:2010-11-13 | 分类:Mysql数据库
在还原备份数据库的时候,遇到一个问题。
原来的服务器环境使用的windows,然后使用mysqldump备份出来的数据库怎么也不能在linux下的数据库中导入。导入的时候总是出现:
unknown command ‘\”‘
于是将 \’ 全部替换成 ‘ 结果... -
Ubuntu下PHP,APACHE,MYSQL配置
日期:2010-10-30 | 分类:Linux-Ubuntu
Ubuntu下PHP,APACHE,MYSQL配置
su1.安装SSH(必须)
sudo apt-get install ssh
2.安装MySQL(虽然现在最新版为5.1,)
sudo apt-get install mysql-server-5.1
3.安装Apache
sudo apt-get install apache2
4.安装PHP
sudo apt-get install php5 libapache2-mod-... -
让MySQL不区分大小写
日期:2009-12-22 | 分类:Mysql数据库
部署系统的时候,从windows下导出mysql为sql语句,导入到Linux下的mysql,导入顺利,启动工程发现报错,日志里提示看到 找不到 SiteAdmin 但是我的数据库里面明明都是小写,怎么一到Linux里面来就有大小的了呢。后来一查,原来是Linux下mysql对数据库大小写敏感,修改如下:
unix/linux的文件系统是区分大小写,mysql将数据库表用文件来表示,因此对运行于unix/linux系统中的mysql数据库进行查询 时,SQL语句中的表名大写小敏感的。而windows则大小写不敏感,为了兼容两个系统,我们可以建立全部小写的数据库表名,
lower_case_table_names=1 让MySQL不区分大小写
在CentOS安装的MySQL的配置文件中(/etc/my.cnf),是没有lower_case_table_names=1这行的。
在Windows安装的MySQL的配置文件中(my.ini),是有lower_case_table_names=1这行的。
lower_case_table_names=1的用途是让MySQL实现不区分大小写。
所以当时出了些毛病,后来才发现是这个的问题。连忙在CentOS中的my.cnf(/etc/my.cnf)的[mysqld]区段下增加:
lower_case_table_names=1也有从Linux下倒出来到windows中都是大写的情况,同样,在windows配置下填写lower_case_table_names=0即可。
-
mysql慢速查询日志分析工具-mysqllogfilter
日期:2009-09-01 | 分类:Mysql数据库
比较的五款常用工具mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter工具/功能 一般统计信息 高级统计信息 脚本 优势 mysqldumpslow 支持 不支持 perl mysql官方自带 mysqlsla 支持 支持 perl 功能强大,数据报表齐全,定制化能力强. mysql-explain-slow-log 支持 不支持 perl 无 mysql-log-filter 支持 部分支持 python or php 不失功能的前提下,保持输出简洁 myprofi 支持 不支持 php 非常精简 现在讲讲mysqllogfilter,我的是windows server2003,所以用python比较好。下载地址:http://code.google.com/p/mysql-log-filter/
——————————————————————————————————————————————————
做一个脚本,如以下内容:我的工具放在J:\downtools\mysql-log-filter-1.9 下,然后生成的结果生成文本放到c:\ss11322.txt
j:
cd downtools
cd mysql-log-filter-1.9
python mysql_filter_slow_log.py J:\downtools\mysql-log-filter-1.9\hp-slow.log --no-duplicates --sort=sum-query-time,avg-query-time,max-query-time --top=15 --no-duplicates >c:\ss11322.txt -
mysql将某张表的一个字段中的内容导出为txt文件
日期:2009-05-15 | 分类:Mysql数据库
SELECT siteadmin.email INTO OUTFILE 'c:/abcd-w.txt' FROM siteadmin
siteadmin 为表名 email为该表的字段名 c:/abcd-w.txt为导出的文件名和路径







