[Openwrt 項目開發筆記]:MySQL配置(六)


[Openwrt項目開發筆記]系列文章傳送門:http://www.cnblogs.com/double-win/p/3888399.html

 

正文:

在本人的項目中,運行在路由器上的服務器采用Nginx+MySQL+PHP 架構。通常較為常見的web框架為Lamp(Linux+Apache+Mysql+PHP),為何我們選擇LNMP呢?我將在后續的幾篇文章中給出答案。

首先我們來介紹如何在Openwrt上搭建MySQL數據庫。

參考文章:(http://blog.csdn.net/yufei_email/article/details/21845935

 

一、安裝MySQL數據庫(在backfire10.3版本中,package已經包含mysql-server.ipk)因此可以直接通過opkg安裝。

opkg update
opkg install mysql-server

 

二、設置mysql配置文件(/etc/my.cnf)

1. 修改數據庫存放的位置(在/etc/my.cnf中找到如下配置)

datadir            =/mnt/data/mysql
tmpdir             =/mnt/data/tmp

 更改為:

datadir             =/mnt/sda3/data/mysql     #將數據庫放置到U盤對應分區上存儲
tmpdir              =/mnt/sda3/data/tmp       #將數據庫臨時文件夾存放到U盤對應分區上

#本人的數據庫存放在U盤第三個分區上,也就是/mnt/sda3,大家根據自己的需要修改

2. 修改數據庫的綁定地址(找到bind-address屬性)

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

 

三、啟動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就能正常登錄和使用了。

 

四、遇到問題以及解決方法

在本人安裝啟動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/ 謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM