小巧嵌入式平台“玩转”大型的数据库管理系统

原创 2020-03-07 13:59:00 数据库 飞凌嵌入式 MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB 公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB 应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件。


01 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

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


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

■ sudo netstat -tap | grep mysql

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

■ 本地登陆验证

密码设置是 123456

mysql -h127.0.0.1 -uroot -p123456

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

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

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

mysql>show databases;

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

|Database        |

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

|information_schema |

|mysql          |

|performance_schema |

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

3rows 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               |

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

24rows in set (0.00 sec)


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

 注释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

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

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

代码如下:

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

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

代码如下:

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

❸  退出数据库

代码如下:

mysql>exit;

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

❹  重启数据库

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

代码如下:

>sudo service mysql restart


04 arm开发板连接mysql服务器

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

  确定网络状况良好

[root@sun8i ~]# ping 192.168.0.233

❷  测试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, Oracleand/or its affiliates. All rights reserved.

This software comes with ABSOLUTELYNO WARRANTY. This is free software,

and you are welcome to modify andredistribute 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服务开发你的分布式应用了。


流程注意点

1. ubuntu上的mysql服务修改网络监听;

2. 数据库中授权远程访问;

3. 网络设置的要和开发板相同的网络地址;

4. 设置好各项设置后一定要重启一下服务器服务,重启下myslq服务,开发板网络要互通。


■ 关注“飞凌嵌入式”公众号,不定期分享行业干货及产品一线资料。

■ 直接微信回复产品平台,如“LS1012A”,即可快速获取对应产品信息。

■ 想要了解飞凌更多信息,欢迎与我们联系:

销售工程师:400-699-6866

国际业务部:0312-3102650-854

技术服务部:0312-3119192

方案定制类:17713286015 (杜工),18633238067(王工)


■ 实时技术支持:

AM 9:00—11:30,PM 13:30—17:00(周一至周五)


相关产品 >

  • OKMX6Q-C开发板

    双千兆飞凌嵌入式iMX6Q开发板,板对板连接器,纤薄之际,次底板支持iMX6Q和iMX6DL核心板。i.MX6Q开发板与i.MX6DL开发板资源丰富,原理图、PCB、软件资源、硬件资源下载,技术支持等。欢迎选购

    了解详情
    OKMX6Q-C开发板
  • OKMX8MP-C开发板

    内置NPU、ISP,AI计算能力高达2.3TOPS|飞凌嵌入式i.MX8MP 系列-NXP iMX8M Plus 开发板 基于高性能低功耗工业级iMX8MP核心板设计,支持多种多种高速通信接口。iMX8MP开发板内置NPU,AI计算能力2.3TOPS,支持4K,支持双图像信号处理器(ISP),是一款支持LinuxQT/android操作系统的iMX8MP开发板。

    了解详情
    OKMX8MP-C开发板

推荐阅读 换一批 换一批