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的管道檔案。
相關推薦
MySQL下mysql.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
linux下mysql的root密碼忘記解決方
bsp off pass ted inux live column 設置 data 1.首先確認服務器出於安全的狀態,也就是沒有人能夠任意地連接MySQL數據庫。因為在重新設置MySQL的root密碼的期間,MySQL數據庫完全出於沒有密碼保護的 狀態下,其他的用戶也可以任
ubuntu下mysql提示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改成% 遠程訪問,本地訪問到一個是空殼。這是權限
LINUX下Mysql環境部署及問題解決
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.用
Linux下mysql程序死掉,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 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
linux下mysql啟動失敗問題解決
錯誤資訊: [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
linux下mysql 使用mysql -uroot -p輸入密碼無法登入問題的解決
1.停止當前mysql服務 /etc/init.d/mysqld stop 或 service mysqld stop (把stop換為status可檢視當前狀態) 2.以--skip-grant-tables 選項啟動mysql mysqld_safe --user=m