Author: jpuyy

  • mysql(已知旧密码)修改密码的两种方法

    http://www.cyberciti.biz/faq/mysql-change-root-password/

    这里的前提是你能登的进mysql

    方法一:用mysqladmin命令修改root密码

    如果你装mysql的时候用的空密码,现在要设定一个初始密码,那么执行:If you have never set a root password for MySQL server, the server does not require a password at all for connecting as root. To setup root password for first time, use mysqladmin command at shell prompt as follows:

    $ mysqladmin -u root password NEWPASSWORD

    你想要更新密码,用如下命令,However, if you want to change (or update) a root password, then you need to use the following command:

    $ mysqladmin -u root -p'oldpassword' password newpass

    例如,旧密码是abc,新密码是123456,则输入,For example, If the old password is abc, you can set the new password to 123456, enter:

    $ mysqladmin -u root -p'abc' password '123456'

    更改其他用户的密码,Change MySQL password for other users

    如更改普通用户密码,用如下命令,To change a normal user password you need to type (let us assume you would like to change password for user vivek) the following command:

    $ mysqladmin -u vivek -p oldpassword password newpass

    方法二:用mysql的sql语言来更改root密码

    Changing MySQL root user password using MySQL sql command

    在mysql数据库中保存了root的密码,This is another method. MySQL stores username and passwords in user table inside MySQL database. You can directly update password using the following method to update or change password for user vivek:

    1)用root登陆 Login to mysql server, type the following command at shell prompt:

    $ mysql -u root -p

    2) 切换到mysql数据库,Use mysql database (type command at mysql> prompt):

    mysql> use mysql;

    3) 更新vivek的密码Change password for user vivek, enter:

    mysql> update user set password=PASSWORD("NEWPASSWORD") where User='vivek';

    4) 最后刷新权限,Finally, reload the privileges:

    mysql> flush privileges;
    mysql> quit

    后一种方法可以用在php,python和perl中
    The last method can be used with PHP, Python or Perl scripting mysql API.

    2014-01-09更新:

    执行SET PASSWORD命令,更改 ‘jpuyy’@’localhost’

    SET PASSWORD FOR 'jpuyy'@'localhost' = PASSWORD('password');

    如果是更改自己的密码,可省略for语句

    SET PASSWORD = PASSWORD('password');

    还可以使用GRANT USAGE(在*.*)来指定某个账号的密码而不影响账户当前的权限。

    GRANT USAGE ON *.* TO 'jpuyy'@'localhost' IDENTIFIED BY 'password';
  • 禁用iredmail的greylisting,重启的policyd

    打开/etc/policyd.conf

    ##################################################################
    # GREYLISTING (functional) #
    ##################################################################
    #
    # enable greylisting default: on
    #
    # whether greylisting should be enabled or disabled.
    #
    # 1=on 0=off
    GREYLISTING=1

    把上面的1改成0以后

    /etc/init.d/policyd restart

    但是这样十分容易收到垃圾邮件,鱼和熊掌不可兼得。

  • grep进行筛选

    排除空行和#开头的行(grep -E 扩展正归表达式)

    cat x.xx | grep -Ev "^$|#"

    过滤多个条件,或的关系

    ps aux | grep 'httpd\|nginx'
    ps aux | grep -E "httpd|nginx"

    排除以#开头的行

    cat x.xx | grep -v ^#

    查看file1中空行的行号

    grep -n ^$ file1

    需要严格匹配,如筛选abc,不需要abcd,abcde,则使用-w –word-regexp

    grep -w "abc"

    或者

    grep "\<abc\>"

    管道加grep -i不区分大小写匹配

    lspci | grep -i ether
     04:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)

    直接取出当前目录文件中含有conf的行

    grep -R 'conf' .

    grep 打印出前面before,后面after,周边around的几行

    cat file | grep -A 1 aaa
    cat file | grep -B 1 aaa
    cat file | grep -C 1 aaa
    

    高亮显示 grep 出来的字符

    cat aaaa | grep --color aaaa

    去掉指定的几个 pattern

    grep -v -e "pattern1" -e "pattern2"
    grep -Ev "pattern1|pattern2"
    

    对过滤的结果计数(行数)

    grep -c 'aaaa' filename

    当前目录找到有某些字符的行及文件

    grep -rn 'bbs' .

    当前目录找到有某些字符的文件

    grep -rl 'bbs' .

    只输出匹配到的文字

    不输出文件名

    grep -h 'my_variable' /data/code/*

    例:把所有子域名打印出来

    cat domain.txt | grep -Eo '(\w+.)+jpuyy.com'

    grep 所有 ip 地址

    grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}' .

    grep 所有的 ip 网段

    grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]{1,2}' .

    grep 包含中文的文件

    grep -rl '[\u4e00-\u9fa5]'  .
    
  • excel批量删除空行的办法

    文章来自:http://www.ittribalwo.com/show.asp?id=1502

    从网上复制来的代码往往有很多空行,excel批量删除空行的方法有多种,视具体数据源不同,可以选择性的使用不同的方法。本文旨在对删除空行进行总结。

    excel批量删除空行方法一:

    方法是:选择包含需要删除的数据区域,比如A2:D10,然后按F5键,打开“定位”对话框,单击“定位条件”,打开“定位条件”对话框,选择“空值”,可以批量选择空行,然后单击右键,选择删除即可。

    excel批量删除空行方法二:

    我们可以在旁边的空白列输入1,然后下拉,作为辅助列。然后开启“筛选”,筛选“空白”,在筛选状态删除这些空白行,最后关闭筛选。

    excel批量删除空行方法三:

    如果工作表中有大量的空行,可以使用VBA代码实现。方法是:按ALT+F11,打开VBE编辑器,插入——模块,复制下面的代码,然后按F5键运行。

    Sub 批量删除空行()
     Dim LastRow As Long
     Dim r As Long
     LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
     Application.ScreenUpdating = False
     For r = LastRow To 1 Step -1
     If Application.WorksheetFunction.CountA(Rows(r)) = 0 Then Rows(r).Delete
     Next r
     Application.ScreenUpdating = True
    End Sub
  • CentOS6.2初始化操作

    CentOS安装gcc g++等编译环境(使用yum)

    yum groupinstall 'Development Tools'

    CentOS安装中文包

    yum groupinstall chinese-support

    CentOS 配置 ssh

    安装SSH

    yum install ssh

    启动SSH

    service sshd start

    设置开机运行

    chkconfig sshd on

    在hosts.deny文件尾添加sshd:ALL 意思是拒绝所有访问请求

    在hosts.allow文件尾添加sshd:192.168.0. 意思是允许192.168.0.1 到254的主机

    重启ssh

    /etc/rc.d/init.d/sshd restart

    安装locate

    yum install mlocate

    mlocate是GNU locate的一个变种。相比原始的locate,它具有一个很好优点: 每次更新数据库时并不需要重新读取全部目录的内容。mlocate 在数据库中保存了时间戳信息,无需重新读取,就能判断目录内容是否改变。所以更新的速度更快,对硬盘的占用也更少。这是 mlocate 特有的功能。安装好后就可以用locate和updatedb来快速查找文件了。

  • centos6.2基本iptables模版

    vim /etc/sysconfig/iptables

    # Generated by iptables-save v1.4.7 on Mon Mar 26 09:52:21 2012
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    # Completed on Mon Mar 26 09:52:21 2012

    -A 选项来附加(新增)规则到某条链

    -i 选项(interface「界面」之意)来指定那些符合或来自 lo(localhost、127.0.0.1)界面的封包

    -j(jump「跳至」)符合这条规则的目标动作

    -m 选项来装入一个模块(state)。state 模块能够查看一个封包并判断它的状态是 NEW、ESTABLISHED 抑或 RELATED。NEW 指进入的封包属于不是由主机初始化的新增连接。ESTABLISHED 及 RELATED 指进入的封包隶属于一条现存的连接,或者与现存的连接有关系。