• [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/ 谢谢!

  • 相关阅读:
    医疗设备软件的安全性问答
    python使用技巧
    C++对象模型
    面向对象方法综述
    如何设计可扩展性系统架构
    敏捷过程
    python中import的相关知识总结
    软件架构的关键原则
    读后感——程序员的思维修炼
    LINUX系统备份工具
  • 原文地址:https://www.cnblogs.com/double-win/p/3866189.html
Copyright © 2020-2023  润新知