8月 19

MySql日常操作记录

[整理日:2010-08-19]

1)使用innodb引擎独立表空间,在配置文件my.cnf中添加如下,重启数据库。
[mysqld]
innodb_file_per_table

2)Drop table操作自动回收表空间,如果对于统计分析或是日值表,删除大量数据后可以通过:
alter table TableName engine=innodb

OPTIMIZE TABLE TableName;

3)改变现有的表使用的存储引擎,用以下语句:
ALTER TABLE mytable ENGINE = MyISAM

4)设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存。重启mysql服务器

5)查看当前进程和执行sql

show processlist ;

6) 清除30天前的 binlog
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 30 DAY);

7)自动清理30天前的binlog

在配置文件中添加expire_logs_days = 30

7月 03

linux iptables 我的例子

[整理人:张子萌 2010-7]
  服务器为内网服务器,对外提供web服务器需要解析DNS,所以对外开通80、53端口。服务器登陆需要连接连接到VPN服务器后,才能连接服务器。服务器使用eth0网卡.
  打开iptables文件
#vi /etc/sysconf/iptables
添加如下内容:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[0:0] -A INPUT -s 192.168.1.0/255.255.255.0 -p icmp -m icmp –icmp-type any -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp –icmp-type any -j DROP
[0:0] -A INPUT -p udp -m udp –sport 53 -j ACCEPT
[0:0] -A INPUT -p udp -m udp –dport 53 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp –sport 80 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp –sport 25 -j ACCEPT
[0:0] -A INPUT -s ! 192.168.1.0/255.255.255.0 -p udp -j ACCEPT
[0:0] -A INPUT -s ! 192.168.1.0/255.255.255.0 -p tcp -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp –dport 110 -j DROP
[0:0] -A FORWARD -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -m limit –limit 1/sec -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp –tcp-flags FIN,SYN,RST,ACK RST -m limit –limit 1/sec -j ACCEPT
[0:0] -A FORWARD -p icmp -m icmp –icmp-type 8 -m limit –limit 1/sec -j ACCEPT
[0:0] -N syn-flood
[0:0] -A syn-flood -m limit –limit 1/s –limit-burst 4 -j RETURN
[0:0] -A syn-flood -j DROP
[0:0] -A OUTPUT -d 192.168.1.0/255.255.255.0 -p udp -j ACCEPT
[0:0] -A OUTPUT -d 192.168.1.0/255.255.255.0 -p tcp -j ACCEPT
[0:0] -A OUTPUT -p udp -m udp –sport 53 -j ACCEPT
[0:0] -A OUTPUT -p udp -m udp –dport 53 -j ACCEPT
[0:0] -A OUTPUT -p tcp -m tcp –sport 80 -j ACCEPT
[0:0] -A OUTPUT -p tcp -m tcp –dport 80 -j ACCEPT
[0:0] -A OUTPUT -p tcp -m tcp –dport 25 -j ACCEPT
[0:0] -A OUTPUT -d ! 192.168.1.0/255.255.255.0 -o eth0 -p udp -j DROP
[0:0] -A OUTPUT -d ! 192.168.1.0/255.255.255.0 -o eth0 -p tcp -j DROP
COMMIT
  保存内容,重启防火墙。
# /etc/init.d/iptables restart
注:在远程调试防火墙时,为了避免调试失败,自己都进不去,最好把防火墙设置为不随操作系统启动。命令如下:

# chkconfig –level 0123456 iptables off

个人配置仅供参考
参考网站:http://www.hudong.com/wiki/iptables%E5%AE%9E%E4%BE%8B

4月 09

忘记 mysql 密码

1. 先结束mysql 进程

# killall mysqld

2. 用mysql 安全模式运行并跳过权限难

# mysqld_safe –skip-grant-tables

3. 用root 登录 ,此时不需要密码

# mysql -u root

4. 现在开始修改密码了

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update user set Password = PASSWORD(‘your new password’) where User = ‘root’ ;

Query OK, 2 rows affected (0.02 sec)

Rows matched: 2 Changed: 2 Warnings: 0

mysql> flush privileges;

mysql> quit

Bye