nginx

查看80端口连接数最多的20个IP

netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20

netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20

查看Web服务器进程连接数

netstat -antp | grep 80 | grep ESTABLISHED -c

日志分析

cat access.log |awk '{print $9}'|sort|uniq -c|sort -nr

分析500的有多少

cat access.log |awk '{if ($9=500){print $7}}'|sort|uniq -c|sort -nr|head

分析ip

cat access.log |awk '{print $1}'|sort|uniq -c

分析pv

cat access.log|wc -l

分析各个页面的点击数

cat access.log |awk '{print $7}'|sort|uniq -c|sort -nr

cat access.log |awk '{print $7}'|sort|uniq -c|sort -nr|head #(前十名的)

nginx 错误页面指定

error_page   404  =  http://www.test.cn;

error_page   403  =  http://www.test.cn;

nginx 页面跳转

rewrite ^(.*)$   /$1 break;

php

查看PHP 进程数

  netstat -anpo | grep "php-cgi" | wc  -l
 如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大。

禁用危险的php函数

disable_functions = exec,scandir,shell_exec,phpinfo,eval,passthru,system,chroot,chgrp,chown,proc_open,
proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket

mysql

建库 建表 增 删 改 查

CREATE database  库名
CREATE TABLE 表名
insert into mysql.user(Host,User,Password) values("%","web",password("ailinux.net”));
delete from mysql.user where user='';  ← 删除匿名用户
update mysql.user set password=password(‘aiLinux.net’) where User="phplamp" and Host="localhost";

远程授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;

新建用户

insert into mysql.user(Host,User,Password) values("%","web",password("ailinux.net”));

在线查询哪些SQL 查询慢的

use information_schema;

select db,command,time,state,info from `PROCESSLIST` where command <>'Sleep';

SHOW STATUS;   (服务器状态变量,运行服务器的统计和状态指标)

SHOW VARIABLES;(服务器系统变量,实际上使用的变量的值)

或者mysql>SHOW STATUS LIKE  '%变量名% ' ;

备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassworddatabases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构

mysqldumpno-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库

mysqldump --all-databases -h127.0.0.1 -uroot -ppass > allbackupfile.sql

还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库

backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

Mysql删除空用户。

DELETE FROM user WHERE User="phplamp" and Host="localhost";

delete from mysql.user where user='';  ← 删除匿名用户

flush privileges;

将MySQL设置为只读状态的命令

show global variables like "%read_only%";
flush tables with read lock;
set global read_only=1;
flush privileges;

将MySQL从只读设置为读写状态的命令

unlock tables;

set global read_only=0;

flush privileges;

动态开起慢查询

set global slow_query_log=1;  #set global slow_query_log=0; 为关闭

set global long_query_time=2;

set global slow_query_log_file='mysql-slow.log';

开关全局日志

set global general_log=on;   开起

set global general_log=off;  关闭

查看MySQL进程连接数

ps -axef | grep mysqld -c

检查索引效率查询

show status like "Handler_read%";   

Handler_read_key 值高表示索引效果好,Handler_read_rnd_next值高表示索引低效。

主从配置
show master status
GRANT REPLICATION SLAVE ON.TO‘rsync‘@’%’IDENTIFIED BY ‘123456’; #主上

CHANGE MASTER TO MASTER_HOST='192.168.2.12',MASTER_USER='rsync',MASTER_PASSWORD='123456',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=120; #从上
start slave

mysql5.5 解决存储苹果表情的问题

show variables like '%sql_mode%';

set global sql_mode = 'NO_ENGINE_SUBSTITUTION';

设置从服务器为只读,避免用户在从服务器上修改数据:

SHOW VARIABLES LIKE ‘%read%’

SET GLOBAL read_only=on;

mysql集群自增长设置

show variables like '%increment%'; 

SET @@global.auto_increment_offset   = 1;

set @@global.auto_increment_increment = 1; 

mysql 查看事物锁死

SELECT * FROM information_schema.INNODB_TRX\G

查看innodb引擎状态

mysql -u root -p --execute="show engine innodb status \G" >/root/mysqlinnodb.log 

修改数据默认字符集

ALTER DATABASE abcd DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

mysql 查询运行状态

mysqladmin -uroot -p123456 status -i 1
mysqladmin -uroot -p123456 --sleep 1 processlist
文档更新时间: 2018-11-29 10:25   作者:RuM