前提步驟:卸載wordpress乾淨,須要把相應的數據庫刪除:drop databade **;php
(1)先改wordpress中重要文件的權限:777html
(2)用usradd -d www /html命令添加www用戶後,把該用戶給wordpress:chown -R /html:www *mysql
(3)就能夠安裝相應插件和上傳主題(不用FTP)了nginx
1.woocommerce插件的使用:sql
(1)設置->產品->顯示->商店和產品頁面->店鋪頁面:產品就能夠顯示在頁面的主要部分了;數據庫
(2)要運行安裝嚮導以後才能夠顯示:Home,cart,Checkout,Mycount的選項;vim
(3)上傳主題時,文件比較大,須要更改:/etc/php.ini文件中,upload.fize的大小:20M安全
(4)常常出現出現數據庫鏈接錯誤,出現「Error establishing a database connection 」,這段話意思是鏈接數據時出現錯誤:服務器
**之前一直須要靠重啓虛擬主機才能解決,如今尋求長期解決方案:socket
**發現不是httpd服務的問題,應該是mysql服務的問題,由於重啓httpd服務後,錯誤依然存在,可是重啓mysql服務後錯誤解決,因此判斷是mysql在wordpress運行時,本身斷開了,因此在網上尋找解決mysql時常本身斷開的解決方案:
一、mysql端口被佔用,
緣由分析:一、之前安全的mysql沒有卸載乾淨
二、其餘程序佔用了3306端口
將mysql配置文件把端口修改一下就能夠了
三、mysql的鏈接數問題
修改mysql的最大鏈接數,使用內存變量修改法修改mysql的最大鏈接數
(1)使用內存變量修改法修改MySQL的最大鏈接數(轉載)
步驟以下(同時適用Windows和Linux平臺):
A、客戶端登陸MySQL,輸入用戶名和密碼
B、在MYSQL命令提示符下設置新的最大鏈接數爲500:mysql> set GLOBAL max_connections=500
C、顯示當前運行的Query:mysql> show processlist
D、顯示當前MYSQL 系統參數狀態:mysql> show status
E、退出客戶端:mysql> exit
查 看當前最大鏈接數只須要經過在mysqladmin所在目錄下執行如下命令:mysqladmin -username -password variables |find "max_con" 便可看到。也可使用PHPMyadmin裏頭的MYSQL參數列表查看最大鏈接數。
缺點:重啓計算機或者MySQL後最大鏈接數又會復位成初始值,須要從新設定。
(2)其餘方案:
打開my.ini文件找到set-variable =max_connections=100這一行,改爲須要設定的最大鏈接數,而後重 啓便可。
###Linux控制檯下:
打開my.cnf文件:vi /etc/my.cnf
在[mysqld]段下修改max_connections的值爲設定值。
在[mysqld]字段處,添加,或去掉註釋
max_connections = 500 #增長mysql鏈接數
wait_timeout = 10 #斷開超過10秒的鏈接
(3)其餘緣由和解決方案:
一、沒法鏈接到Wordpress使用的數據庫。
你的wp-config.php中的數據庫用戶名和密碼錯誤,或者你的數據庫所在服務器掛掉了!也有多是服務商短期內限制(訪問量忽然暴漲的博客或使用一些消耗數據庫鏈接的WP插件)。
解決辦法是,確認wp-config.php中的用戶名和密碼信息正確。確認WP使用的數據庫服務器沒有掛掉(能夠ping或直接重啓?!)。確認數據庫鏈接方式,是遠程鏈接仍是本地鏈接,有些配置的遠程鏈接的可能出現連不上數據庫的狀況,也就會出現這個「Error establishing a database connection」,使用的本地鏈接(localhost)。
二、若服務器數據庫是剛剛升級到 mysql 5.0 以上,以前WP博客正常可訪問。
這多是因爲mysql 5.0採用了一種新的密碼驗證機制,這須要客戶端的版本要在4.0以上(PHP中的MYSQL客戶端能夠查看phpinfo獲得),鏈接數據庫時是用舊的密碼機制,這會出現「Client does not support authentication protocol requested by server」 這樣的錯誤提示,wordpress中就提示「Error establishing a database connection (可能密碼錯誤)」。
解決辦法:
方法一、在mysql中爲wordpress數據庫新建一個控制帳戶,而後修改wp-config.php中的數據庫用戶名和密碼配置信息便可。方便簡單!!
方法二、在mysql下:
mysql> SET PASSWORD FOR
-> ‘clin003’@’clin003.com’ = OLD_PASSWORD(‘newpwd’);
mysql> FLUSH PRIVILEGES;
這裏的clin003替換成使用wordpress數據庫的用戶名,clin003.com替換成localhost或者某個域名,newpwd是該用戶對應的密碼。
還有一點是,查看phpinfo(),找MYSQL_SOCKET顯示的mysql.sock的路徑,確認mysql.sock的確在此路徑下,不然須要作一個符號連接。好比phpinfo裏顯示MYSQL_SOCKET路徑爲/var/lib/mysql/mysql.sock,但實際上位於 /tmp/mysql.sock,可在命令行輸入:
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
三、mysql服務設置不當,致使mysql鏈接數量超過限定值,或者應用程序設計有問題,致使大量休眠鏈接不能及時釋放。
解決辦法:
登錄mysql服務器
mysql -u root -p
使用命令
show processlist;
查看當前鏈接數量。
若是進程過多,或存在大量超時的休眠sleep鏈接,編輯/etc/mysql/my.cnf
vim /etc/mysql/my.cnf
在[mysqld]字段處,添加,或去掉註釋
max_connections = 500 #增長mysql鏈接數
wait_timeout = 10 #斷開超過10秒的鏈接
四、是wp_options數據庫表錯誤,我把整個數據庫表修復和優化了一次
wp_options中的表前綴wp根據本身實際狀況查看!
************根據Wp-config.php的調試功能排錯************
一、在 wp-config.php 有個 debug 的參數,打開這個參數,修改成:
define(‘WP_DEBUG’, ‘true’);
二、根據報錯提示解決問題,好比如下錯誤:
WordPress database error: [Table ‘./clin003_com/wp_options’ is marked as crashed and should be repaired]
SELECT autoload FROM wp_options WHERE option_name = ‘_transient_doing_cron’WordPress database error: [Table ‘./clin003_com/wp_options’ is marked as crashed and should be repaired]
SELECT autoload FROM wp_options WHERE option_name = ‘_transient_timeout_doing_cron’WordPress database error: [Table ‘./clin003_com/wp_options’ is marked as crashed and should be repaired]
SELECT option_value FROM wp_options WHERE option_name = ‘_transient_doing_cron’ LIMIT 1
wp_options 表壞了,須要被修復,使用 mysql 客戶端。
進 mysql 使用修復的命令修復:
mysql>repair table wp_options;
也能夠經過phpMyAdmin來進行修復。
三、問題解決,關掉 DEBUG。
根據mysql的日誌記錄排錯
在mysql的log日誌文件
mysql/data/
裏面找到一個.err結尾的文件,打開。看見了一排
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
修復辦法參考上面!
wordpress的錯誤手冊2016/12/14:
警告:mysql_connect()函數:頁眉和客戶端庫次版本不匹配。頭:50547圖書館:50634在/var/www/html/wordpress/wp-includes/wp-db.php上線1559
解決辦法:
***********************總是出現那個數據庫問題,好像是Apache負載問題,我仍是換Nginx服務器吧**********************
1.安裝:yum install nginx
2.啓動:cd /usr/sbin/
./nginx
3.啓動成功:
4.下載安裝php-fpm: yum install php-fpm
5.啓動php-fpm:cd /usr/sbin/
./php-fpm
6.配置php-fpm和Nginx:
***********************可能的解決方案,生效************************
緣由:當前數據庫用戶沒有操做zuker數據庫的所有權限
應該賦予其所有權限:
看來問題並無解決:在一次出現數據庫鏈接錯誤的問題:
1.當出現這個問題後,遠程用mysql -u root -p 密碼,沒法登錄數據庫
顯示錯誤:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
2.能夠排除是wp.config的錯誤了;如今應該專一於mysql服務器的錯誤上: