1. 在linux下安裝mysql完後啟動不了
好像是pid文件的許可權問題。你到你的mysql的資料庫目錄下找找看看有沒有一個xxx.pid的文件,看一下他的許可權,一般情況屬主和屬組都應該是mysql,如果不是mysql,你把他改回來試試。
找pid文件你用cat或less看一下你mysql的服務啟動文件。裡面寫的有。
2. linux下mysql啟動失敗
許可權問題。,份給你!
1.首先要運行一下
比如說我的mysql安裝在/opt/mysql下面
#cd /opt/mysql
#scripts/mysql_install_db --user=mysql (確認你有mysql用戶)
如果不行,檢查你的/opt/mysql(這是我的)下面有沒有data目錄,正確的做法是先啟動一次如果OK,再移data目錄到別的地方。
兩個方法解決
1.如果你沒有修改過my.cnf文件,請修改,然後把添加datadir
[mysqld]
port = 3306
socket = /tmp/mysql.sock
datadir = /data/mysql/data
這時候,你在/opt/mysql下面建一個軟鏈接到/etc/my.cnf
#cd /opt/mysql
#ln -sf /etc/my.cnf my.cnf
2.或者你在/opt/mysql下面建一個data的軟鏈接
#cd /opt/mysql
#ln -sf /data/mysql/data data
如果還不行,你就得查看你已經注冊成服務的mysqld
#cd /etc/init.d/
#vim mysqld
一般的默認是安裝在/usr/local下面的,所以你要修改這個目錄的名稱及指向。
再不行,你得查一下
/opt/mysql/data/localhost.err文件報什麼錯。
再按錯誤來解決。
我之前是少了一個libstdc++.so.5的庫,從別的地方了一個就OK了
正確流程如下:
#cd /opt/mysql
#scripts/mysql_install_db --user=mysql
成功
#cd .;./bin/mysqld_safe & //這是運行一個demo
查一下進程樹
#ps aux | grep mysql //如果有就可以運行
/opt/mysql/support-files/mysql.server start //修改一下mysql.server文件,這個腳本文件其實就是init.d/mysqld文件,默認路徑在/usr/local下面
成功了就可以用了
/opt/mysql/bin/mysql
願你早日解決些事。
記得許可權的問題,--user=mysql來啟動創建初始化table,你的data目錄要有寫許可權。
3. 緊急求助:linux 下面mysql啟動不了 my_print_defaults: command not found
linux 下面mysql啟動不了 my_print_defaults: command not found的原因是:
/etc/init.d/mysql這個MySQL的啟動腳本錯誤,MySQL是使用源代碼安裝的,一般會提示tarting MySQL Couldn't find MySQL manager or server(@bindir@/mysqld_safe)。
具體解決辦法:
鍵入如下命令:
cd <your MySQL install PATH>
cd bin
.mysqld_safe --user=mysql& #
(3)linuxmysql無法啟動擴展閱讀:
mysql的其他報錯解決辦法:
1、Starting MySQL.Manager of pid-file quit without updating fi[失敗]
關於這個錯誤原因有很多,最大的可能是沒有創建測試資料庫,可以用/usr/local/mysql/scripts/mysql_install_db –user=mysql命令進行創建;另外一個原因可能是許可權設置問題,需要賦予mysql的data許可權,可以用chmod -R 命令。
2、FATAL ERROR: Could not find /home/mysql/bin/my_print_defaults If you are using a binary release,you must run this script from
within the directory the archive extracted into. If you compiled
MySQL yourself you must run 『make install』 first.
這個錯誤,是沒有指明mysql的data路徑導致的,可以很簡單的進行解決:
vim /etc/my.cnf
在[mysqld] 後面加上路徑:
basedir = /usr/local/mysql
datadir =/opt/data;
3、-bash: mysql: command not found
用mysql命令進行登陸mysql報錯,原因是沒有設置環境變數,需要設置,或者進入到bin目錄進行登陸cd /usr/local/mysql/bin
mysql -u root
4. 在Linux安裝好MySQL,不能啟動mysql,
呵呵,是你的mysql.sock
文件不存在了,
可能是被你不小心刪除了,
連接localhost通常通過一個Unix域套接字文件進行,一般是/tmp/mysql.sock。如果套接字文件被刪除了,本地客戶就不能連接。這可能發生在你的系統運行一個cron任務刪除了/tmp下的臨時文件。
如果你因為丟失套接字文件而不能連接,你可以簡單地通過重啟伺服器重新創建得到它。因為伺服器在啟動時重新創建它。
另一個解決辦法是你現在不能用套接字建立連接因為它不見了,你可以建立一個TCP/IP連接,例如,如果伺服器主機是192.168.0.1,你可以這樣連接:
%mysql
-u
root
-h
192.168.0.1
-p
%mysqladmin
-u
root
-h
192.168.0.1
-p
shutdown
如果套接字文件被一個cron任務刪除,問題將重復出現,除非你修改cron任務或使用一個或使用一個不同的套接字文件,你可以使用全局選項文件指定一個不同的套接字,例如,如果數據目錄是/usr/local/var,你可以通過將下列行加入/etc/my.cnf中,將套接字文件移到那裡:
[mysqld]
socket=/usr/local/var/mysql.sock
[client]
socket=/usr/local/var/mysql.sock
對伺服器和客戶均指定路徑名,使得它們都使用同一個套接字文件。如果你只為伺服器設置路徑,客戶程序將仍然期望在原位置執行套接字,在修改後重啟伺服器,使它在新位置創建套接字.如果你有這個問題,事實上任何人可以刪除MySQL通訊套接字「/tmp/mysql.sock」,在Unix的大多數版本上,你能通過為其設置sticky(t)位來保護你的「/tmp」文件系統。作為root登錄並且做下列事情:
shell>
chmod
+t
/tmp
這將保護你的「/tmp」文件系統使得文件僅能由他們的所有者或超級用戶(root)刪除。
你能執行ls
-ld
/tmp檢查sticky位是否被設置,如果最後一位許可位是t,該位被設置了。
5. linux下mysql怎麼啟動不了了
第一步:先停止所有mysql 進程
# killall -TERM mysqld
第二步:用安全模式啟動
# /usr/local/mysql/bin/mysqld_safe --skip-grant-table &
註: 啟動時會報錯,而且卡在哪不動,這時你只要回車即可,然後再用空密碼就能登陸了
第三: 用空密碼登陸,修改mysql 的root 密碼
# mysql -uroot -p //登錄mysql
mysql> use mysql // 選擇mysql 資料庫
mysql> update user set password=password("654123") where user="root"; // 更新root 密碼
mysql> flush privileges; // 使修改立即生效
第四: 用你修改的密碼登陸!
6. 請幫忙分析Linux下mysql啟動不起來的原因
以下錯誤日誌提示,都是查看 MySQL 錯誤日誌得到,查看方法如下:
查看下 MySQL 配置文件 my.cnf 中有記錄,日誌記錄在/log/mysql/error.log下
?MySQL 配置文件 my.cnf 許可權問題導致無法啟動,錯誤提示:World-writable config file 『/etc/my.cnf』 is ignored
?Binlog 丟失導致無法啟動,錯誤日誌: File 『./mysql-bin.000001』 not found
?Binlog 無法讀取導致無法啟動,錯誤日誌:Failed to open log (file 『./mysql-bin.000001』, errno 13)
?不能創建 PID 導致無法啟動,錯誤日誌:Can』t start server: can』t create PID file: No such file or directory
?不能創建臨時文件導致無法啟動,錯誤日誌:mysqld: Can』t create/write to file 『/tmp/ibfguTtC』 (Errcode: 13)
?MySQL 服務無法識別導致無法啟動,錯誤提示:mysqld: unrecognized service
?MySQL 配置了過大的內存導致無法啟動,錯誤日誌:InnoDB: Cannot allocate memory for the buffer pool
?MySQL 啟動參數過多導致無法啟動,錯誤提示:Too many arguments (first extra is 『start』)
?MySQL 目錄許可權問題導致無法啟動,錯誤日誌:File 『./mysql-bin.index』 not found (Errcode:13 – Permission denied)
?MySQL 未初始化導致無法啟動,錯誤提示:can』t open the mysql.plugin table
?MySQL 啟動成功但未監聽埠
?MySQL ibdata1許可權問題導致無法啟動,錯誤日誌:InnoDB Operating system error number 13 in a file operation
?磁碟空間滿導致 MySQL 無法啟動
?進程殘留導致 MySQL 無法啟動
?MySQL 服務自動停止
這些是錯誤提示你對照去找你的原因就這么多了
7. linux 下mysql 服務無法開啟
linux 下mysql 服務無法開啟
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,把它刪除掉