1. 程式人生 > >MySQL下mysql.sock丟失問題的解決[ubuntu, linux, mysqld.sock]

MySQL下mysql.sock丟失問題的解決[ubuntu, linux, mysqld.sock]

MySQL下mysql.sock丟失丟失的原因一般是因為配置檔案不一致的原因,mysqld 錯誤啟動,mysqld_safe 會清除一次mysql.sock 。解決方法是:

判斷一般人解決故障時沒有切換到mysql使用者,造成許可權有問題,無法建立mysql授權表,所以也就無法建立/tmp/mysql.sock 和hostname.pid檔案。因此,總結解決方法如下(注: 使用root也可以):

#su mysql

$/usr/local/bin/mysql_install_db //重建授權表

$/usr/local/bin/mysqld_safe &

$/usr/local/bin/mysql //測試

mysq>bye;

$

檔案已經解決,重新生成新的 /tmp/mysql.sock 和 hostname.pid

$su root

關於Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的問題

找不到mysql socket的問題,我最近碰到了好多次

重灌系統以前,我的mysql,apache,php都是自己編譯安裝的,當時並沒有碰到這些問題,

重灌系統以後,我的mysql是通過yum安裝的,apache1.37和php5.2是自己編譯安裝的,出現了這個問題

首先是mysqld啟動不了,

我通過vim /etc/my.cnf,修改了[mysqld]選項下面的socket的值

socket=/var/lib/mysql/mysql.sock

ok,mysqld可以啟動了

接下來,是mysql啟動不了,同樣,vim /etc/my.cnf,添加了如下指令碼:

[mysql]

socket=/var/lib/mysql/mysql.sock

然後,mysqladmin啟動不了,還是一樣,在[mysqladmin]下面socket值設定為同樣的路徑

ok,可以啟動了

最後,用php連線的時候,又出現這個問題了

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

我首先想到的是,在/etc/php.ini修改mysql.default_socket的值,在這個檔案中,關於mysql.default_socket的值的說明是這樣的,

; Default socket name for local MySQL connects.  If empty, uses the built-in MySQL defaults.

這個值一開始是空的,也就是說,如果我們不主動去修改的話,php將會使用內建在mysql中的預設值

於是,我修改了這個值,設定為:

mysql.default_socket=/var/lib/mysql/mysql.sock

然後我重新啟動apache,結果無效;reboot系統,結果無效

我火大了,php就非得去連線/tmp/mysql.sock,可是我的系統裡面就是沒有這個路徑下的這個檔案,那我就給你連結一個,於是我做了下面的操作,

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

重新開啟我的php頁面,ok,這下能連線到資料庫了。

就這樣,我把這個問題解決了,可是我還是有點迷糊,為什麼一定要去找/tmp/mysql.sock這個檔案,是不是一開始我就給它ln一個連結就可以解決?這個mysql.sock到底是用來做什麼的?於是我就產生了看看這個檔案內容的想法,

cat /var/lib/mysql/mysql.sock

提示我,cat: /var/lib/mysql/mysql.sock: 沒有那個裝置或地址

less /var/lib/mysql/mysql.sock

/var/lib/mysql/mysql.sock is not a regular file (use -f to see it)

我強行檢視!

less -f /var/lib/mysql/mysql.sock

/var/lib/mysql/mysql.sock: 沒有那個裝置或地址

~~

vim /var/lib/mysql/mysql.sock

提示許可權不足,我是root使用者耶,還提示許可權不足,奇怪了

~~~~

ll /var/lib/mysql/mysql.sock

看到的屬性是:

srwxrwxrwx 1 mysql mysql 0 11-21 14:39 /var/lib/mysql/mysql.sock

這個屬性引起了我的注意,檔案型別標誌是s,還真沒去了解過這樣的型別,到鳥哥的私房菜去找了一下,原來,這個是資料介面檔,用我們大陸說的習慣應該是套接字檔案(sockets),這種檔案一般用在網路上的資料套接,mysqld守護程序生成了這個檔案,其他與mysql相關的程式想使用mysql,估計就是通過這個檔案了。

這種特殊檔案即使是最高許可權的root使用者,也是不能檢視不能編輯的,有點像檔案標誌是p的管道檔案。

相關推薦

MySQLmysql.sock丟失問題的解決[ubuntu, linux, mysqld.sock]

MySQL下mysql.sock丟失丟失的原因一般是因為配置檔案不一致的原因,mysqld 錯誤啟動,mysqld_safe 會清除一次mysql.sock 。解決方法是: 判斷一般人解決故障時沒有切換到mysql使用者,造成許可權有問題,無法建立mysql授權表,所以也就無法建立/tmp/mysql.so

Linux環境啟動MySQL數據庫出現找不到mysqld.sock解決辦法!

備註 sta 就會 超級 默認目錄 sql數據庫 su - 用戶 lib 問題:   在普通用戶權限下運行:mysql -u root -p,回車之後如果會出現如下錯誤:ERROR 2002 (HY000): Can‘t connect to local MySQL ser

linux mysql忘記root密碼解決辦法

uic linux m star word moni bsp color man ble 1 修改MySQL的登錄設置 # vi /etc/my.cnf 在[mysqld]的中加上一句:skip-grant-tables 2 重新啟動mysqld # /e

Mysql root使用者許可權丟失解決辦法(忘記密碼解決辦法)

微信公眾號: 關注可瞭解更多的教程及技巧。問題或建議,請公眾號留言; 丟失原因:通過sql語句修改root使用者的密碼。 版本介紹:mysql5.5 解決方法:A:找到mysql服務,停止mysql服務。          B:執行cmd,並進入%******%MySQ

解決Ubuntu,linux mint 無法登入(輸入正確使用者名稱和密碼仍跳回登入介面)

現象: 1:在Ubuntu或者linux mint (其實只要是基於ubuntu 核心得都可以)登陸介面輸入密碼之後,黑屏一閃後,又跳轉到登入介面。 2: 進入到命令列介面之後,sudo startx 顯示 timeout in locking author

window使用vnc遠端登入ubuntu/linux圖形介面

通常我們都使用putty、secureCRT等軟體來遠端登入linux系統,但這些軟體僅提供字元終端介面,若要像windows的遠端桌面連線那樣登入linux的圖形介面,我們可以使用VNC這類的軟體。 VNC基本上是屬於一種顯示系統,也就是說他能將完整的視窗介面通過網路,傳輸到另一臺計算機的螢幕上. vnc

linux 安裝 MySQL 經常出現各種問題終極解決方法 /var/run/mysqld/mysqld.sock /var/run/mysqld/mysqld.pid

以為 ubuntu 12.04 為例: 安裝 MySQL  5.5 ,方法如下: wget http://sourceforge.net/projects/mysql.mirror/files/MySQL%205.5.27/mysql-5.5.27-linux

linuxmysql的root密碼忘記解決

bsp off pass ted inux live column 設置 data 1.首先確認服務器出於安全的狀態,也就是沒有人能夠任意地連接MySQL數據庫。因為在重新設置MySQL的root密碼的期間,MySQL數據庫完全出於沒有密碼保護的 狀態下,其他的用戶也可以任

ubuntumysql提示Changed limits: max_open_files:1024解決辦法

網上 解決辦法 mysql tno its max 所有 ubuntu下 有用 在配置我的md5解密網站cmd5.la的時候,mysql5.7出現了max_open_files: 1024, max_connections: 214,warning: Changed lim

linux系統使用xampp 丟失mysql root密碼 只能遠程訪問,本地無法連接數據庫

sans 服務器 丟失 mysqld sudo bin star ble flush 如果在ubuntu 下面 使用xampp這個集成開發環境,卻忘記mysql密碼。 當出現只能遠程訪問的,本地無法訪問,通常是host改成% 遠程訪問,本地訪問到一個是空殼。這是權限

LINUXMysql環境部署及問題解決

tab 登錄 修改 遠程連接 p地址 過程 ID 出現 xxxx 連接mysql用戶: mysql -u root -p 回車,輸入密碼 創建數據庫:create database 【數據庫名稱】 復制數據:navicat傳輸數據功能 過程中出現的問題:1、打開表,報10

***在Linux環境mysql的root密碼忘記解決方法(三種)-推薦第三種

href containe 完全 mys init.d 操作 root ubunt upd MySQL密碼的恢復方法之一 1.首先確認服務器出於安全的狀態,也就是沒有人能夠任意地連接MySQL數據庫。 因為在重新設置MySQL的root密碼的期間,MySQL數據庫完全出於沒

ubuntu mysql安裝以後無法登陸的的解決方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost'))

sta mysql安裝 nat where 數據 move sel 方法 client 1. 刪除mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove

Linux環境mysql的root密碼忘記解決方法

l數據庫 狀態 con ini pda inux star 數據 .cn 1.首先確認服務器出於安全的狀態,也就是沒有人能夠任意地連接MySQL數據庫。 因為在重新設置MySQL的root密碼的期間,MySQL數據庫完全出於沒有密碼保護的 狀態下,其他的用戶也可以任意地登錄

解決Ubuntu系統 mysql 遠程連接失敗的問題 ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx.xx' (110)

bind okr 解決 rul 就是 roo com 但是 serve 如果遠程連不上mysql.cnf 裏面也修改了;bind註銷掉了127.0.0.1 等所有的 但是telnet xxx.xxx.xx.xx 3306 端口 不通;那麽 就是防火墻的問題了 1.修改Ubu

linux 安裝mysql 出現 mysql.sock問題解決方法

完成 word 解決 安裝 連接 什麽 service etc mysq mysql 連接數據庫 會出現什麽 mysql.sock的問題 1.首先確定mysql有沒有啟動 service mysql status 因為mysql啟動後才會有mysql.sock文件 2.用

Linuxmysql程序死掉,InnoDB: mmap(137363456 bytes) failed; errno 12解決方法

這個問題一直困擾了我很久,在網上查找了很多資料一直沒解決我的問題,mysql解除安裝一次又裝一次還是會有這個問題. 問題還原:mysql啟動時是SUCCESS!但是過了一段時間,程序就死掉了,遠端連線失敗,重啟mysql會報錯,錯誤資訊如下: Starting MySQL../usr/loc

啟動mysql錯誤解決方案 學會檢視錯誤日誌 mysql sock丟失 mysqld safe啟動報錯

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

linuxmysql啟動失敗問題解決

錯誤資訊:  [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory) 2018-10-16T12

linuxmysql 使用mysql -uroot -p輸入密碼無法登入問題的解決

1.停止當前mysql服務 /etc/init.d/mysqld stop 或  service mysqld stop (把stop換為status可檢視當前狀態) 2.以--skip-grant-tables 選項啟動mysql mysqld_safe --user=m