1. ERROR 1040 (HY000): Too many connections
分析:产生too many connections 的直接原因是因为数据库提供的连接被全部占满了。数据库可以提供多少连接,可以在my.cnf(linux)或者my.ini(windows)下设定。
目前服务器max_connections 400,不建议加得太大,因为机器上面剩余内存不多,加大会消耗更多的内存。太多了导致系统崩溃。wait_timeout默认为8小时,
show processlist发现有很多sleep,说明该参数设置偏大。(设置10分钟内该连接没有请求就断开)
解决:修改配置文件添加并需要重启:
[mysqld]
wait_timeout = 600
interactive_timeout = 600
2. 缺少libstdc++.so.6
原因: 系统是64bit的,该库是32bit。
1)yum provides libstdc++.so.6
2) yum install libstdc++-4.4.11.e16.i686
3) yum update xxx.x86_64 (根据上一步中的提示信息填写xxx)
4) 重复2)
3. yum安装时出现This system is not registered with RHN
解决:
1) cd /etc/yum.repos.d/...
2) 命令行:wget http://docs.linuxtone.org/soft/lemp/centos-Base.repo
3) mv rhel-debuginfo.repo rhel-debuginfo.repo.bak
4) mv CentOS-Base.repo rhel-debuginfo.repo
再yum install ...即可
4. ERROR 1130: HOST 192.168.X.X is not allowed to connect to this mysql server.
解决:增加用户、设置权限
1) insert into user(user,host) values (‘root‘, ‘192.168.x.x‘);
2)grant all privileges on *.* to ‘root‘@‘192.168.x.x‘ identified by ‘password‘ with grant option;
3) flush privileges;
5. ERROR 1044 (4200): Access denied for user ‘‘@‘localhost‘ to database ‘mysql‘
原因: mysql数据库的user表里,存在用户名为空的账号,即匿名账户,导致登录的时候虽然用的是root,但
实际是匿名登录的,通过错误提示‘‘@localhost可以看出来。
解决: 1)关闭mysql service mysqld stop
2) 屏蔽权限 mysqld_safe --skip-grant-table &
3) mysql -u root
delete from user where user=‘‘;
or update user set password=PASSWORD(‘XXX‘) where user=‘root‘
4) flush privileges;