mysql 数据库优化 晴

Category : UNIX » AMP | Post on 2006/04/15 14:30 by leftleg | Comments:0
首先,为了使一个系统更快,最重要的部分就是基础设计,不过有些东西是现有情况下无法逾越的,比如说系统常见的瓶颈.
我所能想到的:

1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是----用多个硬盘,或者把数据分散存储.

快速修复MySQL数据库 晴

Category : UNIX » AMP | Post on 2006/04/15 09:58 by leftleg | Comments:2
快速修复MySQL数据库
有的时候因为掉电或者其他原因导致数据库损坏,我们可以使用mysql自带的mysqlcheck命令来快速修复所有的数据库或者特定的数据库;例如
检查优化并修复所有的数据库用:

# mysqlcheck -A -o -r -p
Enter password:
guestbook.simpgb_avatars OK
guestbook.simpgb_bad_words OK
guestbook.simpgb_banlist OK
guestbook.simpgb_data OK
......
......
......

修复指定的数据库用

# mysqlcheck -A -o -r Database_NAME -p

即可

彻底优化mysql 雨

Category : UNIX » AMP | Post on 2006/04/12 14:34 by leftleg | Comments:1
同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力
严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月
MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。

MySQL的优化 阴

Category : UNIX » AMP | Post on 2006/04/10 15:16 by leftleg | Comments:0
MySQL的优化
作者:晏子 (2001-05-14 12:20:05)
一、我们可以且应该优化什么?

硬件
操作系统/软件库
SQL服务器(设置和查询)
应用编程接口(API)
应用程序

vBulletin (Forum) Database error! 晴

Category : 技术文章 | Post on 2006/04/04 11:19 by leftleg | Comments:0
数据库错误在 vBulletin 3.0.1:

无效的 SQL 语句: SELECT threadid , COUNT(*) AS views FROM threadviews GROUP BY threadid
mysql 错误: Can't open file: 'threadviews.MYI'. (errno: 145)

mysql 错误号: 1016

利用PHPMYADMIN 修复无果... 无论执行多少遍,还是错误!!!

解决方法:利用VBB后台中的修复表,一般第一次会提示你表已经损坏,但再执行几遍就OK了.

GOOD LUCK!!!

在一个服务器上安装多个MySQL服务器 晴

Category : UNIX » AMP | Post on 2006/03/11 14:19 by leftleg | Comments:0
有时候会有需要在一个服务器上安装多个MySQL服务的,比如出于测试、均衡负载等等,这次我之所以试验这个则是因为一个烂人的软磨硬泡...-_-!MySQL 4.1.x是一个较大改动的升级版本,同时迁移数据困难比较大,在需要MySQL新特性的同时又不想花大力气来迁移所有数据,安装两个MySQL服务器成为了鱼和熊掌的兼得方案。

要点:
安装两个MySQL服务器最重要的是不能互相冲突,需要区别的有安装目录[数据库目录],端口,套接字,配置文件四个地方。

安装目录可以通过编译时候来分别制定,数据库目录可以通过启动脚本[$prefix/share/mysql/mysql.server]指定$datadir来制定。
主要MySQL服务器使用默认端口3306,第二个我使用了3307端口,这个可以通过my.cnf配置文件来制定。
套接字默认第一个使用/tmp/mysql.sock,同样,使用my.cnf来制定。
默认MySQL是使用/etc/my.cnf来作为配置文件的,两个的话,就需要分别使用$datadir/my.cnf来制定了。 这次主要是为了使用MySQL的UTF-8特性从而做这个定制的,另外如果想在命令行顺利导入UTF-8的话,需要设定my.conf的以下部分。 [mysqld]
character_set_server = utf8
#port = 3307
#socket = /tmp/nga.sock
[mysql]
character_set_client = utf-8
character_set_connection = utf8
character_set_database = utf8
character_set_results = utf8
character_set_server = utf8
character_set_system = utf8
collation_connection = utf8_general_ci
collation_database = utf8_general_ci
collation_server = utf8_general_ci

以上设定也许并不是全部需要,#部分是上文提到过的有关设定,一并写出。
补充一下: 如果你的PHP使用的MySQL函数库仍是4.0左右的版本,少不得要设定账号的密码方式为兼容方式,否则会无法登陆。

SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('password');

  有些情况下你可能想要在同一台机器上运行多个服务器。例如,你可能想要测试一个新的MySQL版本而让你现有生产系统的设置不受到干扰,或你可能是想要为不同的客户提供独立的MySQL安装一个因特网服务供应商。
  如果你想要运行多个服务器,最容易的方法是用不同的TCP/IP端口和套接字文件重新编译服务器,因此他们不是侦听同一个TCP/IP端口或套接字。
  假设一个现存服务器配置为缺省端口号和套接字文件,那么用一个这样的configure命令行设置新的服务器:

shell>; ./configure  --with-tcp-port=port_number \
            --with-unix-socket=file_name \
            --prefix=/usr/local/mysql-3.22.9

  这里port_number和file_name应该不同于缺省端口号和套接字文件路径名,而且--prefix值应该指定一个不同于现存的MySQL安装所在的安装目录。
  你可以用这个命令检查由任何当前执行的MySQL所使用的套接字和端口:
  shell>; mysqladmin -h hostname --port=port_number variables
  如果你有一个MySQL服务器正运行在你使用了的端口上,你将得到MySQL的一些最重要的可配置变量的一张表,包括套接字名等。
  你也应该编辑你机器的初始化脚本(可能是“mysql.server”)来启动并杀死多个mysqld服务器。
  你不必重新编译一个新MySQL服务器,只要以一个不同的端口和套接字启动即可。你可以通过指定在运行时safe_mysqld使用的选项来改变端口和套接字:
  shell>; /path/to/safe_mysqld --socket=file_name --port=port_number
  如果你在与开启日志的另一个服务器相同的一个数据库目录下运行新服务器,你也应该用safe_mysqld的--log和--log-update选项来指定日志文件的名字,否则,两个服务器可能正在试图写入同一个日志文件。

  警告:通常你决不应该有在同一个数据库中更新数据的2个服务器!如果你的OS不支持无故障(fault-free)的系统锁定,这可能导致令人惊讶的事情发生!

  如果你想要为第二个服务器使用另一个数据库目录,你可以使用safe_mysqld的--datadir=path选项。

  当你想要连接一个正在运行的使用一个不同于编译进你的客户程序中端口的MySQL服务器时,你可以使用下列方法之一:

   以--host 'hostname' --port=port_numer或[--host localhost] --socket=file_name启动客户。
  在你的C或Perl程序中,当连接MySQL服务器时,你可以给出端口和套接字参数。
  在你启动客户程序之前,设置MYSQL_UNIX_PORT和MYSQL_TCP_PORT环境变量,指向Unix套接字和TCP/IP的端口。如果你通常使用一个特定的套接字或端口,你应该将设置这些环境变量的命令放进你的“.login”文件中。
在你的主目录下的“.my.cnf”文件中指定缺省套接字和TCP/IP端口。
Tags: , ,
分页: 5/6 第一页 上页 1 2 3 4 5 6 下页 最后页 [ 显示模式: 摘要 | 列表 ]