Linode一次简单的运维经历

2012年3月1日下午2点,有用户报告说安装的Wordpress坏了,用身边的Ipad尝试链接,Database Error。
用ipad的ssh客户端登录服务器作初步检查。
1)ps -ef | grep mysql
显示没有正在运行的mysql实例对象。
2)service mysql start
mysql: Job failed to Start
显示mysql运行失败
3)cat /var/run/log/mysql/error
没有数据,google之后可能是日志文件权限不够,不过查看之后发现没有问题。问题暂时搞不定。

2012年3月1日晚上8点,回到家用电脑开始登陆服务器尝试修复。
1)cat /var/log/daemon.log
Mar 1 21:09:53 xiuxiu init: mysql pre-start process (4597) terminated with status 1
死办法通过时间找到日志文件daemon.log,查看内容发现如下错误信息。google之后发现Linode论坛就有人讨论这个问题(大赞linode),是服务器硬盘不够引起的。
2)mysql> use information_schema
Database changed

mysql> select concat(round(sum(index_LENGTH)/(1024*1024),2),’MB’) as ‘Index Size’ from tables where table_schema=’bbs’;
首先想到的是数据库可能太大了,google了查看数据库大小的方法,发现所有数据库没有容量太大的问题。
3)du -h –max-depth=1 /
Google了Linux查看文件夹大小的命令,但是还是不熟悉LInux的文件结构,只好从根目录开始查看,最后定位到了/var/mail/root,最后发现是自己的一个app给系统发送了过多的mail导致。删除本地mail,系统恢复正常。

没有特别的含义,记录一下linux操作以及大致的诊断问题的方法。

参考链接

mysql查看数据库大小,索引大小

Linux下查看文件和文件夹大小的df和du命令

 

VPS攒机经历(3)

1安装Mysql,php5
 问题:
1.1 –with-gd-dir=/….没有
./configure –help | grep gd
–with-gd
1.2 –with-libxml-dir=/…没有
./configure –help | grep libxml
–with-libxml-dir

 

Mysql阶段学习总结

Tags: ,

Mysql安装

由于Ubuntu的便利导致这部分非常缺失

Mysql数据库引擎

1)MyISAM

2)InnoDB

3)NDB..

4)Blackhole..

一台机器多个Mysql实例

1) 使用mysqld_multi对各个mysql实例进行启动,停止

2)配置my.cnf(详细见附录)

2.1)配置[mysqld_multi]

2.2)配置[mysqldN],如果需要配置成主服务器,则需要增加内存配置,log-bin,

Mysql主从同步配置

超级有用的东西.

官方网站上也提供了基于主从同步的一些切换solution,挺有帮助的.

1)主服务器my.cnf配置server-id, log-bin, 配置同步用用户(repl_slave权限)

2)从服务器my.cnf配置master信息,server-id

Mysql Load Balancer

很奇怪的一个新东西,官方网站上有介绍,找不到下载.,,,猜测是扩展mysql proxy的新东西

Mysql Cluster

按照官方说明不支持一台服务器上的多实例配置.由于物理条件限制只好大致了解了一下.

1)NDBM管理节点,管理各个NDB数据节点用,可以和Mysql节点放在一台机器上.

2)Mysql节点,Client通过它连接到Cluster, 通过NDBM获取Cluster的Data.

3)Data节点,组成Cluster,同步数据,由NDBM统一管理.

遗留问题:

1)从服务器log-slave-update的作用

2)phpmyadmin只能通过默认socket文件位置连接

3)现存数据库得主从服务器搭建.

4)不同数据库引擎的主从服务器搭建.

5)Cluster中,mysqld节点如何连接NDBM.

附录:

多个mysql实例以及mysql主从的配置

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = multi_admin
password   = password

[mysqld2]
socket     = /var/run/mysqld/mysqld.sock
port       = 3306
pid-file   = /var/lib/mysql/hostname.pid
datadir    = /var/lib/mysql
language   = /usr/share/mysql/english
user       = mysql
log        =/var/lib/mysql/mysql.log
long_query_time = 2
key_buffer  = 16M
max_allowed_packet = 16M
thread_stack  = 128K
thread_cache_size = 8
query_cache_limit       = 1M
query_cache_size        = 16M
server-id = 1
log-bin=master-mysql-bin

[mysqld3]
socket     = /tmp/mysql.sock3
port       = 3308
pid-file   = /var/lib/mysql3/hostname.pid3
datadir    = /var/lib/mysql3
language   = /usr/share/mysql/english
user       = mysql

server-id = 2
master-host=localhost
master-port=3306
master-user=repl
master-password=repl
master-connect-retry=60

[mysqld4]
socket     = /tmp/mysql.sock4
port       = 3309
pid-file   = /var/lib/mysql4/hostname.pid4
datadir    = /var/lib/mysql4
language   = /usr/share/mysql/english
user       =mysql
 
[mysqld6]
socket     = /tmp/mysql.sock6
port       = 3311
pid-file   = /var/lib/mysql6/hostname.pid6
datadir    = /var/lib/mysql6
language   = /usr/share/mysql/english
user       = mysql

[client]
port  = 3308
socket  =  /tmp/mysql.sock3

 

无觅相关文章插件,快速提升流量