一、环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下:
节点分布情况:
MGM:192.168.137.101
NDBD1:192.168.137.102
NDBD2:192.168.137.103
SQL1:192.168.137.104
SQL2:192.168.137.105
一、环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下:
节点分布情况:
MGM:192.168.137.101
NDBD1:192.168.137.102
NDBD2:192.168.137.103
SQL1:192.168.137.104
SQL2:192.168.137.105
MySQL突然访问很慢,重启也启动不了,看了一下Mysql的错误日志,意外状况出现……
Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)
service mysqld start 报错
090517 13:34:15 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
090517 13:34:15 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
090517 13:34:15 mysqld_safe mysqld from pid file /usr/local/mysql/var/mail.bmitwap.com.pid ended
090517 13:38:35 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
MySQL中索引的限制:
1、MyISAM存储引擎引键的长度综合不能超过1000字节;
2、BLOB和TEXT类型的列只能创建前缀索引;
3、MySQL目前不支持函数索引;
4、使用!= 或者<>的时候MySQL不能使用索引;
5、过滤字段使用了函数运算的时候如 abs(key), sum(key)的时候MySQL无法使用索引;
6、使用LIKE操作的时候以%开始无法使用索引,所以尽量写出key LIKE 'abc%' 而不要写出 '%abc%' ,后一种方法是不会使用到索引的;
7、使用非等值查询的时候,MySQL无法使用Hash索引;
如何判定是否需要创建索引?
1、较频繁地作为查询条件的字段;
2、唯一性太差的字段不适合建立索引;
3、更新太频繁地字段不适合创建索引;
4、不会出现在where条件中的字段不该建立索引;
WHERE 条件
有时候操作数据库时,只操作一些有条件限制的数据,这时可以在SQL语句中添加WHERE子句来规定数据操作的条件。
语法:
SELECT column,… FROM tb_name WHERE definition
按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下,
当前生产环境硬件配置参考:
Linux下查看操作系统信息、内存情况及cpu信息:cpu个数、核心数、线程数
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。
一、用户管理:
1、新建用户:
>CREATE USER name IDENTIFIED BY 'ssapdrow';
2、更改密码:
>SET PASSWORD FOR name=PASSWORD('fdddfd');
3、权限管理
>SHOW GRANTS FOR name; //查看name用户权限
>GRANT SELECT ON db_name.* TO name; //给name用户db_name数据库的所有权限
>REVOKE SELECT ON db_name.* TO name; //GRANT的反操作,去除权限;
Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in path/to/the/file/where/connection/script/is/written/