Linux错误汇总
一,Linux系统下安装完MySQL,启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with...
[root@localhost ~]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) [root@localhost ~]# /etc/rc.d/init.d/mysqld status mysqld 已停
或者是这样
[root@localhost ~]# service mysqld start 初始化 MySQL 数据库: Neither host 'localhost.localdomain' nor 'localhost' could be looked up with /usr/bin/resolveip Please configure the 'hostname' command to return a correct hostname. If you want to solve this at a later stage, restart this script with the --force option [失败]
解决方法:
1,编辑vi /etc/hosts文件
[root@localhost ~]# vi /etc/hosts #127.0.0.1 linuxtest.com 改为下面红色部分 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6
二、[root@promote ~]# mysql #故障是没有那个命令
-bash: mysql: command not found
解决方法:
[root@promote ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql [root@promote ~]#echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile [root@promote ~]#source /etc/profile
三、[root@promote mysql]# service mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/promote.cache-dns.local.pid).
错误日志:161026 22:47:25 mysqld_safe mysqld from pid file /usr/local/mysql/data/promote.cache-dns.local.pid ended
解决方法:根据/etc/my.cnf 初始化数据即可。
[root@promote mysql]# vi /etc/my.cnf 执行如下命令: [root@promote mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
1,可能是/usr/local/MySQL/data/rekfan.pid文件没有写的权限
解决方法:给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2,可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3,可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !
4,mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5,skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6,错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7,selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
四,故障现象:ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password:NO)
解决方法1:
在你新安装的没有数据的情况你可以这么做 [root@hwg1227 ]#pkill mysqld [root@hwg1227 ]#lsof -i :3306 [root@hwg1227 ]#rm-rf /usr/local/mysql/data/* [root@hwg1227 ]#cd /usr/local/mysql [root@hwg1227 mysql ]#/scripts/mysql_install_db --basedir=/usr/locla/mysql --datadir=/usr/locla/mysql/data --user=mysql
解决方法2:
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程 [root@hwg1227 ]#/etc/init.d/mysql restart #重启数据库 [root@hwg1227 ]#mysql mysql> use mysql; mysql> update user set password=password("你的新密码") where user="root"; mysql> flush privileges; mysql> quit
五,zabbix网页出现连接数据库失败;mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
查看了错误日志: tail -fn 200 /var/log/mysqld.log 截取部分内容
InnoDB: Error: tried to read 65536 bytes at offset 0 3583488. InnoDB: Was only able to read 512. InnoDB: Fatal error: cannot read from file. OS error number 17.
解决方法:
进入cd /var/lib/mysql 删除了两个日志文件rm -rf ib_logfile0和rm -rf ib_logfile1 然后重启系统;然后/etc/init.d/mysqld start 启动成功。