文章标签 ‘mysql’
登录MYSQL发现在INNODB禁用。
show variables;
have_innodb DISABLED
innodb不能启用。因为刚刚修改了my.cnf里面,innodb_data_file_path,大小修改后所致。
启用操作方法:
停止MYSQL数据库服务。
删除ib_logfile0,ib_logfile1,ibdata1文件即可。
重启MYSQL服务。
以上操作是没有数据的情况下。
在有数据的情况下,先将数据备份一份。
mysqldump
然后将数据库里面的库删除,要不里面的表都无法操作。再新建一个库,将先前做好的备份文件导入进来就OK了。
分享收藏
环境:CentOS 5.3 MYSQL 5.0.84
主服务器:node1 IP:192.168.1.10
从服务器:node1_0 IP:192.168.1.20
一. MySQL主服务器配置
1.建立用户
grant replication slave on *.* to repluser@192.168.1.20 identified by ‘123456′;
2.编辑配置文件/etc/my.cnf
# 确保有如下行
server-id = 1
log-bin=mysql-bin
binlog-ignore-db=mysql
#binlog-do-db=需要备份的数据库名,可写多行
#binlog-ignore-db=不需要备份的数据库名,可写多行
二.MySQL从服务器配置
1.编辑/etc/my.cnf
server-id=2
log-bin=mysql-bin
master-host=192.168.1.10
master-user=repluser
master-password=12345
#master-port=3306
#replicate-do-db=test
# replicate-do-db=test 需要备份的数据库名
# replicate-ignore-db=mysql 忽略的数据库
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)
记得先手动同步一下主从服务器中要备份的数据库,然后重启主,从服务器。
三、验证
在主服务器运行,mysql>show master status\G;
在从服务器运行,mysql>show slave status\G;
登录主服务器查看线程
mysql> show processlist \G;
*************************** 1. row ***************************
Id: 2
User: root
Host: localhost
db: test
Command: Query
Time: 0
State: NULL
Info: show processlist
*************************** 2. row ***************************
Id: [...]
mybench是用PERL写的简单压力测试工具。官方:http://jeremy.zawodny.com/mysql/mybench/
下载地址:http://jeremy.zawodny.com/mysql/mybench/mybench-1.0.tar.gz
本站地址:mybench-1.0.tar
安装cd mybench
#perl Makefile.pm
make && make install
这个工具需要DBI模块
perl -MCPAN -e shell
>install DBI
mybench的执行文件/usr/bin/bench_example
修改该文件中数据库连接信息,默认需要TEST库跟MYTABLE表
[root@centos01 mybench-1.0]# ./bench_example
forking: ++++++++++
sleeping for 2 seconds while kids get ready
waiting: ———-
test: 1000 0.000101 0.208674 0.000866643 0.866643 11538.7766358235
clients : 10
queries : 1000
fastest : 0.000101
slowest : 0.208674
average : 0.000866643
serial : 0.866643
q/sec : 11538.7766358235
分享收藏
最近遇到一个比较少见的问题,php连接mySQL的时候,会报错
Lost connection to MySQL server at ‘reading initial communication packet’, system error: 111
这种现象还不是不断重复的,出现的频率不确定,疑似mySQL数据丢包。google之后,得到解决办法,通过修改my.cnf
1. 注释掉 # skip-networking
2. 给MYSQL绑定IP bind-address = 123.88.88.88 # server IP address
分享收藏
php没有数据库连接池的概念,一般情况下程序中使用mysql_connect()连接数据库,在php脚本执行完毕之后进程会释放掉连接资源所占的内存。访问每个php网页都会出现一个解析脚本的进程,那么数据库服务端也会出现一个connect连接。当然前提是只有一个数据库设计的系统。在高并发高流量的情况下,基于数据库驱动的应用系统很容易出现瓶颈,这个瓶颈首先就是max_connections,即数据库的同时最大连接数,在MySQL安装的时候默认只有100个。增大这个连接数能马上起到效果。但是并不是能无限量增加,我在window服务器下和linux服务器下分别做了实验。
实验准备:
我分别使用了php的MySQL客户端工具mysql_connect()和pdo做实验。本实验故意不采用长连接方式。关于长连接的作用会在以后讨论。以下是知识准备:
1resource mysql_connect ( [string $server [, string $username [, string $password [, bool $new_link [, int $client_flags]]]]] )
分享收藏
