小巧嵌入式平臺“玩轉”大型的數據庫管理系統

原創 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開發板

推薦閱讀 換一批 換一批