Skip to main content

My experience with NodeJS and MariaDB on Android through Termux

The first thing I did was check the official documentation, Getting Started With the Node.js Connector

I modified my server.js code and tested and first error I encountered was, "Error: (conn=20, no: 1698, SQLState: 28000) Access denied for user 'u0_a270'@'localhost'"

At some point in troubleshooting I also got this error, "ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/data/com.termux/files/usr/tmp/mysqld.sock'"

Eventually I figured out that the problem was with the mariadb user that was created on install and how no password is required for mysql in Termux. So I just created a new user for my dev work as follows

MariaDB [db1] > CREATE USER 'user1'@localhost IDENTIFIED BY 'password1';

MariaDB [db1] > GRANT ALL PRIVILEGES ON *.* TO 'user1'@localhost IDENTIFIED BY 'password1';

Then my testing nodejs code as follows

const mariadb = require('mariadb');
const pool = mariadb.createPool({
     host: 'localhost',
     user:'user1',
     password: 'password1',
     database: 'db1',
     connectionLimit: 5
});

var http = require('http');

http.createServer(async function (req, res) {
  res.write('Device listing : ');
 
  rows = await queryDB();
 
  rows.forEach(function (row) {
  res.write(row.id + ' ' + row.name + '; '); });
 
  res.end();
}).listen(3000);

async function queryDB() {
  let conn;
  try {
conn = await pool.getConnection();
rows = await conn.query("SELECT * from devices");
  } catch (err) {
throw err;
  } finally {
if (conn) { conn.end(); return rows; }
  }
}

Man I was so happy to see this work after troubleshooting for a few hours. Hopefully this helps someone trying to get started with the same thing.

MariaDB example

Comments

Popular posts from this blog

How do we fix this world?

It is 4:39 pm and I have decided to write. It is a peaceful and quiet day. I am thinking about God, and how this life is a test. There is so much happening in this world that could make us sad. But we do not have to remain in that sadness when we put our trust in God. God wants good for us. God wants us to experience peace, and even happiness, despite what surrounds us. How do we fix this world? My friend Chatty suggests that maybe a better question is: What kind of person do I choose to be in this world? Because when enough people answer that question well, that is how real change begins. I want to be the kind of person that God is pleased with. Someone guided by God, not by ego. Someone who chooses patience over anger, humility over pride, and sincerity over appearances. I am doing reasonably well, but I am not perfect. And maybe perfection is not the goal. Growth is. Awareness is. Returning to what is right, again and again, is. I want to grow, and I will keep adjusting myself when ...

Hobby project - Store and view exchange rates

The next step in my project was to test out being able store and display the rates in a database. I decided to use nodejs and supabase for this. Everything worked beautifully. Only hickup was the following error due to my package.json not being correct. SyntaxError: Cannot use import statement outside a module Added this to package.json   "type": "module" This works beautifully. Right now I am just testing fragments of what could be part of a bigger system to see what is possible and what works and how easy to code on a mobile. There is no fully functioning integrated end to end system just yet. This is also what I tested. A serverless append-only database using GitHub + Actions + Pages. That’s basically a lightweight backend system. This was the ChatGPT prompt I used. Guide me through each step. This is what I want. A manually run github actions that adds to docs/data.json with the current date and time. docs/index.html displays all the entries in data.json. Make s...

Mundane

It is 123am and I have decided to write. I have this new idea for a book called Mundane. It would be me writing about the ordinary. We chase the extraordinary but there is beauty in the ordinary. There is beauty in the simple. There is beauty in the everyday. What about God? We often think about God in grand terms. But what if God is simple too? What if God is mundane? What if we look for God in the everyday moments? I sit in this dark room with the air conditioning on. The fan is also on. The curtain is down but I imagine the moonlight shining on the grass outside. The cats are probably sleeping. I wonder if anyone else in the neighbourhood is awake at this hour? Is there another writer around who is also writing about the mundane? The fan breeze helps the air conditioning cool me down. These nights are warm otherwise. A mosquito flies across my screen. Hello friend or foe. I cannot quite decide which one. If I had a swatter you would be gone. I check my notifications and there is an ...