## ssh串連過去先串連過去,然後輸入:
sudo systemctl status mariadb.service Linux學習,http:// linux.it.net.cn
## 這時候可以看到一些錯誤提示:
140819 14:06:14 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
140819 14:06:14 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
這裡可以看到,log儲存在/var/log/mariadb/mariadb.log裡面,接著我們繼續去查看一下問題: Linux學習,http:// linux.it.net.cn
sudo nano /var/log/mariadb/mariadb.log
然後可以看到裡面比較重要的問題是出現在了下面這句話裡面:
140819 14:06:14 InnoDB: Fatal error: cannot allocate memory for the buffer pool
這裡問題就比較明確了,記憶體不足,故而無法分配資源。
## 可行的解決方案大概有這麼三種吧:
1.增加實體記憶體,使用的是DG的伺服器,所以就直接升級配置即可。
2.建立Swap分區,這種方式應該算是比較好的解決方案,使用的命令如下:
## 使用Root許可權,直接sudo -i吧
dd if=/dev/zero of=/swap.dat bs=1024 count=524288
## 524288=512*1024也就是說分配了512M的交換分區
mkswap /swap.dat
swapon /swap.dat
## 然後查看下效果
free -m
## 會出現下面的內容,也就是說已經成功了
total used free shared buffers cached
Mem: 490 453 37 1 1 22
-/+ buffers/cache: 430 60
Swap: 511 48 463
## 這樣還不行,我們需要繼續讓系統自動掛載swap分區,編輯/etc/fstab並添加一行:
/swap.dat swap swap 0 0
Linux學習,http:// linux.it.net.cn
現在基本已經解決問題了,直接啟動mariadb應該是沒有問題了:
sudo systemctl start mariadb.service
3.修改Mysql記憶體池大小,編輯/etc/my.cnf並修改如下內容:
[mysqld]
innodb_buffer_pool_size=64M
## 最後開啟網站吧,應該可以看到內容了。