Linux錯誤彙總

Linux錯誤彙總mysql

一,Linux系統下安裝完MySQL,啓動MySQL報錯:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with...linux

[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 已停

或者是這樣sql

[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文件centos

[root@localhost ~]# vi /etc/hosts
#127.0.0.1   linuxtest.com 改成下面紅色部分
127.0.0.1   localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6

2、[root@promote ~]# mysql                          #故障是沒有那個命令bash

-bash: mysql: command not founddom

解決方法:socket

[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

3、[root@promote mysql]# service mysqld start
ide

Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/promote.cache-dns.local.pid).ui

錯誤日誌: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 啓動成功。
相關文章
相關標籤/搜索