• 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" }'
  •  

    插入单条数据
    [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下,如果当时在安装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), 一般见于使用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下某个程序。


  • 在还原备份数据库的时候,遇到一个问题。

    原来的服务器环境使用的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即可。

  •  

    比较的五款常用工具
    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

  • SELECT siteadmin.email INTO OUTFILE 'c:/abcd-w.txt' FROM siteadmin

    siteadmin 为表名  email为该表的字段名 c:/abcd-w.txt为导出的文件名和路径