[Openwrt項目開發筆記]系列文章傳送門:http://www.cnblogs.com/double-win/p/3888399.htmlhtml
正文:mysql
在本人的項目中,運行在路由器上的服務器採用Nginx+MySQL+PHP 架構。一般較爲常見的web框架爲Lamp(Linux+Apache+Mysql+PHP),爲什麼咱們選擇LNMP呢?我將在後續的幾篇文章中給出答案。web
首先咱們來介紹如何在Openwrt上搭建MySQL數據庫。sql
參考文章:(http://blog.csdn.net/yufei_email/article/details/21845935)數據庫
1、安裝MySQL數據庫(在backfire10.3版本中,package已經包含mysql-server.ipk)所以能夠直接經過opkg安裝。服務器
opkg update
opkg install mysql-server
2、設置mysql配置文件(/etc/my.cnf)架構
1. 修改數據庫存放的位置(在/etc/my.cnf中找到以下配置)框架
datadir =/mnt/data/mysql
tmpdir =/mnt/data/tmp
更改成:spa
datadir =/mnt/sda3/data/mysql #將數據庫放置到U盤對應分區上存儲 tmpdir =/mnt/sda3/data/tmp #將數據庫臨時文件夾存放到U盤對應分區上 #本人的數據庫存放在U盤第三個分區上,也就是/mnt/sda3,你們根據本身的須要修改
2. 修改數據庫的綁定地址(找到bind-address屬性).net
bind-address =127.0.0.1
更改成:
bind-address =0.0.0.0
修改的目的:容許遠程訪問。
保存修改,並退出編輯。
3. 建立數據庫存放文件夾(若my.cnf中datadir以及tmpdir對應存儲位置不存在的話,進行此操做,不然跳過此步驟)
mkdir /mnt/sda3/data mkdir /mnt/sda3/data/mysql mkdir /mnt/sda3/data/tmp #更爲簡單的命令 # mkdir -p /mnt/sda3/data /mnt/sda3/data/mysql /mnt/sda3/data/tmp
4. 建立database(執行以下操做)
/usr/bin/mysql_install_db --force
3、啓動MySQL數據庫
1. 啓動mysql守護進程
/etc/init.d/mysqld enable
/etc/init.d/mysqld start
2. 啓動mysql server交互進程:
使用過mysql的親們都清楚,mysql數據庫的操做須要對應用戶有權限才行的。在剛剛建成的數據庫尚未對用戶設置密碼。那該如何設置呢?有以下兩種方法:
方法一:
使用mysqladmin命令預先設置對應用戶mysql使用密碼,以root用戶爲例:
/usr/bin/mysqladmin -u root password XXXXXX # XXXXXX 是爲root用戶設置的密碼
方法二:
以非受權方式進入mysql,進行權限設置:
#以非受權的方式啓動mysqld。 mysqld --skip-grant& #root用戶登陸mysql mysql -u root #查看是否存在mysql數據庫 show databases; use mysql; update user set Password=password('XXXXXX') where User='root' and Host='localhost'; flush privileges; exit
Tips: 在這次修改中,咱們僅僅設置了localhost的用戶名和密碼,其餘權限均沒有設置。若是須要,要另行設置。
關閉mysqld服務
killall mysqld
重啓mysqld服務
/etc/init.d/mysqld start
在設置完密碼和權限以後,以root用戶登陸Mysql:
mysql -u root -p
ok 到此Mysql就能正常登陸和使用了。
4、遇到問題以及解決方法
在本人安裝啓動Mysql的時候,系統報錯:
can't open library 'libncurses.so.5' ...
在網上查看了各類帖子,發現你們說的都好高大上,什麼內核版本不對,什麼文件連接出錯。幾經修改,仍是沒有解決問題,後來無心中到查找,竟然發現了libncurses的安裝包。。。
http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/
原來缺乏libncurses的庫文件的解決方法是:
opkg install libncurses
安裝完畢以後,重啓mysql服務便可正常登錄了。
下一節,介紹在Openwrt上安裝PHP+MySQL。
轉載請註明出處:http://www.cnblogs.com/double-win/ 謝謝!