飞凌干货|小巧嵌入式平台使用大型的数据库管理系统

MySQL 是一个 关系型数据库管理系统 ,由瑞典 MySQL AB 公司开发,目前属于 Oracle   旗下产品。 MySQL 是最流行的 关系型数据库管理系统 之一,在 WEB 应用方面, MySQL 是最好的 RDBMS  (Relational Database Management System ,关系数据库管理系统 ) 应用软件。

1 ubuntu 服务端安装配置

网络情况介绍

Ubuntu   ip 192.168. 0.223   myslq 服务端)

开发板    ip 192.168.0.232    mysql 客户端)

Ubuntu 服务器安装 mysql 服务

1. sudo apt-get install mysql-server

2. sudo apt-get install mysql-client

3. sudo apt-get install libmysqlclient-dev

安装过程中会提示设置密码什么的,注意设置了不要忘了, 安装完成之后可以使用如下命令来检查是否安装成功

2 检查 mysql 的网络服务是否开启

sudo netstat -tap | grep mysql

如果看到有 mysql socket 处于 listen 状态则表示安装成功

2.3 本地登陆验证

密码设置是 123456

mysql -h127.0.0.1 -uroot - p 123456

 

-h 表示远程主机的 ip地址   -u 表示选择登陆的用户名 -p 表示登陆的用户密码 ,上面命令输入之后会提示输入密码,此时输入密码就可以登录到 mysql。

注意: -h 与后边的远程主机 ip 一定要紧接着,不能有空格; -u 后边的用户名与紧接着,不能有空格, -p 与后边的用户名要紧接着,不能有空格。

然后通过 show databases ; 就可以查看当前的数据库。

 

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

+--------------------+

3 rows in set (0.00 sec)

 

我们选择 mysql数据库就行下一步操作,使用 use mysql   命令,显示当前数据库的表单: show tables  。

mysql> use mysql;

Database changed

mysql> show tables;

+---------------------------+

| Tables_in_mysql           |

+---------------------------+

| columns_priv              |

| db                        |

| event                     |

| func                      |

| general_log               |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| host                      |

| ndb_binlog_index          |

| plugin                    |

| proc                      |

| procs_priv                |

| proxies_priv              |

| servers                   |

| slow_log                  |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+---------------------------+

24 rows in set (0.00 sec)

 

3 设置允许远程访问 mysql 服务器

1. 注释 bind-address = 127.0.0.1

sudo vi /etc/mysql/my.cnf # 注释下面一行

 

bind-address = 127.0.0.1注释掉(即在行首加#),如下:

代码如下 :


# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address          = 127.0.0.1

除了注视掉这句话之外,还可以把后面的 IP地址修改成允许连接的IP地址。但是,如果只是开发用的数据库,为了方便起见,还是推荐直接注释掉。

从上面的注释中,可以看出,旧版本的 MySQL(从一些资料上显示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用旧版本的小伙伴请注意一下

 

sudo service mysql restart


2 .增加允许远程访问的用户或者允许现有用户的远程访问。

root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下:

代码如下 :


mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;


如果需要指定访问主机,可以把 %替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增加一条记录。如果不想增加记录,只是想把某个已存在的用户(例如root)修改成允许远程主机访问,则可以使用如下SQL来完成:

代码如下 :


update user set host='%' where user='root' and host='localhost';

3 .退出数据库

代码如下 :


mysql> exit;

MySQL Shell执行完SQL后,需要退出到Bash执行系统命令,需要执行exit。因为这个太常用也太简单。以下内容就提示“退出”,不再重复列出这个命令。

4 .重启数据库

完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效。执行如下命令重启数据库:

代码如下 :


>sudo service mysql restart


4  arm 开发板连接 mysql 服务器

下边的命令全是在 arm 开发板执行输入操作

2.4.1 确定网络状况良好

[root@sun8i ~]# ping 192.168.0.233

2.4.2 测试 mysql 服务连接正常

[root@sun8i ~]# mysql -h192.168.0.233 -uroot -p123456

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 37

Server version: 5.5.54-0ubuntu0.12.04.1 (Ubuntu)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

This software comes with ABSOLUTELY NO WARRANTY. This is free software,

and you are welcome to modify and redistribute it under the GPL v2 license


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>      

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

+--------------------+

3 rows in set (0.00 sec)

mysql> use mysql;

mysql> select Host,User,Password  from user;                                                                                                                                                         

+-----------+------------------+-------------------------------------------+

| Host      | User             | Password                                  |

+-----------+------------------+-------------------------------------------+

| localhost | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| ubuntu    | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| 127.0.0.1 | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| ::1       | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| localhost | debian-sys-maint | *BE992A329E738F241ACC9248FC1F4FF734A52FCD |

| %         | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

+-----------+------------------+-------------------------------------------+

6 rows in set (0.00 sec)

目前开发板已经可以查询出 ubuntu 服务器上的 mysql 数据了。

现在就可以正常使用服务器的 mysql 服务开发你的分布式应用了。


总结:有几个注意点,第一个, ubuntu 上的 mysql 服务修改网络监听,第二个,数据库中授权远程访问,第三个,网络设置的要和开发板相同的网络地址,第四点,设置好各项设置后一定要重启一下服务器服务,重启下 myslq 服务,开发板网络要互通。