FAQ: How do I install a MySQL Server on the Omega?
-
First, enable the OpenWRT/LEDE packages repo by following our guide.
Afterwards, install the package:
opkg update opkg install mysql-server
EDIT: removing broken link
Then check out this guide on configuring and using MySQL server
Then look for an OpenWRT-specific guide on configuring and using MySQL server
-
@Lazar-Demin
the url mentioned for configuration and usage of mysql server seems invalid. Any updated instructions for usage of mysql-server?
-
@akhileshthorat Try opkg install mariadb-server Mariadb is mysql compatible developed by the original authors of MySQL after they sold it to Oracle. Also look at sqlite3, this is a light weight alternative to MySQL well suited to IoT devices
-
@akhileshthorat Good call, I've updated the original post to remove the broken link. Let me know if you find a good alternative guide to configuring and using MySQL on OpenWRT.
Or if you find other guides for the db alternatives mentioned by @crispyoz
-
@crispyoz I have installed sqlite3. It is lightweight and works perfect for IoT applications. The only drawback for sqlite3 is it doesn't have a network endpoint.
I use node-red to build dashboards for dynamic ui tables linked with databases. I was successful in installing mysql node for node-red but failed to host a mysql server on same host.
-
@Lazar-Demin I looked up for generic Openwrt based guides for MySQL, tried few approaches but got stuck at a issue where db installer demands a buffer size of 20MB
root@Omega-A160:~# mysqld 2023-04-11 13:59:00 2012355852 [Note] mysqld (mysqld 10.1.45-MariaDB) starting as process 3299 ... 2023-04-11 13:59:00 2012355852 [Note] InnoDB: innodb_empty_free_list_algorithm has been changed to legacy because of small buffer pool size. In order to use backoff, increase buffer pool at least up to 20MB. 2023-04-11 13:59:00 2012355852 [Note] InnoDB: Using mutexes to ref count buffer pool pages 2023-04-11 13:59:00 2012355852 [Note] InnoDB: The InnoDB memory heap is disabled 2023-04-11 13:59:00 2012355852 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2023-04-11 13:59:00 2012355852 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier 2023-04-11 13:59:00 2012355852 [Note] InnoDB: Compressed tables use zlib 1.2.11 2023-04-11 13:59:00 2012355852 [Note] InnoDB: Using Linux native AIO 2023-04-11 13:59:00 2012355852 [Note] InnoDB: Using generic crc32 instructions 2023-04-11 13:59:00 2012355852 [ERROR] mysqld: Can't create/write to file '/mnt/data/tmp/ibXXXXXX' (Errcode: 13 "Permission denied") 2023-04-11 13:59:00 77f21d0c InnoDB: Error: unable to create temporary file; errno: 13 2023-04-11 13:59:00 2012355852 [ERROR] Plugin 'InnoDB' init function returned error. 2023-04-11 13:59:00 2012355852 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2023-04-11 13:59:00 2012355852 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded 2023-04-11 13:59:01 2012355852 [ERROR] Unknown/unsupported storage engine: InnoDB 2023-04-11 13:59:01 2012355852 [ERROR] Aborting
Also tried increasing buffer size in .cnf file to 20MB, nothing worked.
Need to deep dive into internals to understand what's happening under the hood
-
@akhileshthorat Is it possible to change the location of the buffer file?
If so, put it in/tmp
- this partition is actually run on (half of) the Omega's RAM, so it will be very fast to access and will have quite a bit of space, 64MB on the Omega2+/2S+