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

[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/ 謝謝!

相關文章
相關標籤/搜索