There are two situations you must address
SITUATION #1 : TABLES TO CREATE
You must add this to my.cnf
[mysqld]
default-storage-engine=MEMORY
Then, restart mysql (MariaDB)
CAVEAT: This will not convert already existing tables to MEMORY tables.
What can done for those existing tables ?
SITUATION #2 : TABLES ALREADY EXISTING
Here is the script to convert all tables to MEMORY tables:
SQLSCRIPT=/root/Convert_To_MEMORY.sql
echo "SET SQL_LOG_BIN = 0;" >
MYSQL_CONN="-u... -p..."
SQL="SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=MEMORY;')"
SQL="${SQL} ConversionSQL FROM information_schema.tables WHERE engine='InnoDB'"
SQL="${SQL} AND table_schema NOT IN ('information_schema','mysql','performance_schema')"
mysql ${MYSQL_CONN} -AN -e"${SQL}" > ${SQLSCRIPT}
less ${SQLSCRIPT}
If you are satistied with the contents of the SQL Script, login to MariaDB and run
mysql> source /root/Convert_To_MEMORY.sql
EPILOGUE
While I gave you the two major things to do to have everything as MEMORY tables, you should read my old posts on the good, the bad, and the ugly of using MEMORY tables: