1:mysql主从架构。日志错误类型
错误原因:slave在读取mysql-bin.index寻找还原点,即mysql-bin.000699时出错,master数据库没有这个binlog(可能被删除或者其他原因),所以无法还原
解决办法:清除slave数据库的binlog,relaylog,让slave数据库重新从master数据库上获取最新的binlog文件,然后重启slave数据库即可解决
2:在mysql主从架构中同步出现warning
The syntax 'for replication startup options' is deprecated and will be removed in MySQL 5.2. Please use 'CHANGE MASTER' instead
警告原因:配置文件里有某些选项是和5.2版本不兼容的,被mysql屏蔽了,这个不影响同步。
Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=localhost-relay-bin' to avoid this problem.
由于你的配置文件里面没有 --relay-log或者--relay-log-index,当你的服务器作为slave并且更改主机名的时候,同步会被停止。如果你一直没有改主机名就无所谓
3:[Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
原因:这是一个warning,不是一个error,warning的原因官方说法是一个mysql bug,bug号#35346,具体的解决办法,很简单只需要设置这个参数值即可,但是据官方的说法,你还是不要轻易改变这个参数值,这里有两个链接比较好
4:Error: mysql conflicts with MySQL-server
原因:说下产生此错误的环境,机器原来是通过yum安装的mysql-server及mysql,版本号是5.0.77-4.el5_4.2,后来由于需要更高的版本,所以下载了最新的5.5.10-1.rhel5.i386.rpm,这是首先我
rpm -e mysql-server --nodeps
然后通过yum安装那个新版本即发生错误,原以为是没卸载干净,就删除mysql的安装目录,删除后安装仍然出现错误,仔细一看错误是mysql与Mysql-server发生冲突,抱着试试看的态度写在mysql客户端,哎,还真好了,由此看来发生次错误的原因是mysql版本兼容的问题
5:configure: error: Could not find libmysqlclient in ' /usr/lib /usr/lib/mysql 在编辑supersmack过程中发生了此错误
原因:其实此错误是很正常的一般错误,提示加载不了需要的库文件,之所以写出是因为在/usr/lib/mysql下确实有提示需要的库文件,why?libmysqlclient是what?
6:不能授权用户replication权限 grant replication slave on develop.* to identified by '123456' 报错:ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
原因:查找中
7:mysql的perl,python连接接口,驱动perl-DBI,perl-DBD-mysql
当mysql client需要连接服务器时,比如安装一些有perl,python写的管理工具,如maatkit,这个管理工具需要连接数据库,这是需要安装类如perl-DBI(perl database interface),这是perl连接mysql的接口,要实现能连接这个接口就需要安装接口的驱动perl-DBD-mysql(perl database drive mysql),安装过程都比较简单
1:perl Makefie.pl (在安装DBD是可能需要mysql_config这个工具,提示没有,通过安装mysql- devel即可解决)
2:make install
8:Error writing file '/tmp/MYqlGnfn' (Errcode: 28)")
这个错误google解释很多,而且解释都是正确的就是 /tmp目录已满,容易造成疑惑的是去查看tmp目录时候发现下面只有几个文件,没有满,我在这里郑重解释一下:tmp目录在执行过程中确实由于临时表满了,只是当报出28错误时,mysql已经删除了临时表,所以当sql执行结束看到tmp目 录并没有满,这点很重要
扩展:mysql产生临时表的原因
当系统需要internal临时表的时候,首先在内存初始化为memory类型的表,随着数据的增长,mysql自动把内存中memory类型表转变为磁盘上myisam表,内存中的临时表是取变量 tmp_table_size和max_heap_table_size两个中最小的一个
mysql产生临时表的前提
A. 表中出现blob和text列
B. 超过512bytes的group by或distinct
C. 当有union和union all被使用时,select list超过512bytes
NOTICE:可以通过explain查看“Extra”列,看其是否有“Using temporary”
阅读(2211) | 评论(0) | 转发(0) |