IT运维笔记


openwrt之安装mysql

首先我们来介绍如何在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服务即可正常登陆了。