[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.' ...
在网上查看了各种帖子,发现大家说的都好高大上,什么内核版本不对,什么文件链接出错。几经修改,还是没有解决问题,后来无意中到查找,居然发现了libncurses的安装包。。。
http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/

原来缺少libncurses的库文件的解决方法是:
opkg install libncurses
安装完毕之后,重启mysql服务即可正常登陆了。
下一节,介绍在Openwrt上安装PHP+MySQL。
转载请注明出处:http://www.cnblogs.com/double-win/ 谢谢!
[Openwrt 项目开发笔记]:MySQL配置(六)的更多相关文章
- [openwrt 项目开发笔记]: 传送门
“Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...
- [Openwrt 项目开发笔记]:PHP+Nginx安装(七)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们已经搭建了MySQL数据库了,因 ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
- [Openwrt 项目开发笔记]:DDNS设置(五)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我主要讲述了如何在Openwrt上安 ...
- [Openwrt 项目开发笔记]:Samba服务&vsFTP服务(四)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们讲述了如何在路由器上挂载U盘,以 ...
- [Openwrt 项目开发笔记]:USB挂载& U盘启动(三)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一篇中,我结合Netgear Wndr370 ...
- [Openwrt 项目开发笔记]:Openwrt必要设置(二)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 前面的两篇blog中,我将如何搭建Openwrt ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)补遗
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 昨晚上熬夜写了[Openwrt项目开发笔记]:O ...
- Java开发笔记(九十六)线程的基本用法
每启动一个程序,操作系统的内存中通常会驻留该程序的一个进程,进程包含了程序的完整代码逻辑.一旦程序退出,进程也就随之结束:反之,一旦强行结束进程,程序也会跟着退出.普通的程序代码是从上往下执行的,遇到 ...
随机推荐
- SUSE11&12 永久关闭防火墙
SUSE11下:关闭操作为:service SuSEfirewall2_setup stopservice SuSEfirewall2_init stop取消开机启动防火墙:chkconfig SuS ...
- Ubuntu 16.04安装Git及GUI客户端
1.通过APT源安装Git命令行工具 这里不建议通过源码进行安装,增加复杂程度,且最新版本的Git在各个方面都会修复,不至于出现不能用的状态. sudo add-apt-repository ppa: ...
- INI
.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理 ...
- 删除排序数组中的重复数字 II · Remove Duplicates from Sorted Array II
重复一次 [抄题]: 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度. 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成. [思维问题]: [ ...
- handler------post传送方式
package com.qianfeng.gp08_day26_hanlder2; import android.os.Bundle; import android.os.Handler; impor ...
- oracle pl/sql程序
简单的pl/sql程序 declare begin dbms_output.put_line('hello world'); end; 什么是PL/SQL? pl/sql(Procedure lang ...
- C# 类初始化顺序
C#的类初始化顺序和Java以及C++类初始化顺序是不同的,曾经我被这个问题害惨了.对于C#和Java,其共同点都是先变量后构造函数,先静态后普通 区别在于,C#是子类变量->父类变量-> ...
- HRegionServer异常下线问题
==版本== Hadoop:2.7.1 HBase:1.2.1 Zookeeper:3.4.6 ==现象== HBase集群启动一段时间之后,一部分HRegionServer会异常下线重启(用syst ...
- 多线程的使用:只能用cmd来玩不能用idle
from multiprocessing import Process import os def pro_do(name, func): print () if __name__ == " ...
- 常用C字符串函数
static void str_repalce(char *src,char *from,char *to) { char *p,*q; int lenFrom; int le ...