How to fix mysql error can’t read dir on Peppermint OS

Suddenly my php stack can’t open phpmyadmin. Its getting timeout all the time. Due to health problem I let it as I think my computer might need rest too like me 🙂

Today I need to overcome the problem since my friend need to access mysql table structure and I use command line, the error appear in different format :

mysql -u root -p nkppt -e ‘show tables;’
Enter password:
ERROR 1018 (HY000) at line 1: Can’t read dir of ‘./nkppt/’ (errno: 24)

Wow, I think the error also serious and apt-get update in last run might be the cause of this problem.

After look around I got solution from here.

Edit security limits

$ cat /etc/security/limits.conf



mysql soft nofile 24000
mysql hard nofile 32000

Modify mysql.conf

$ cat /etc/init/mysql.conf
# MySQL Service

description     “MySQL Server”
author          “Mario Limonciello <>”

start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]

respawn limit 2 5

env HOME=/etc/mysql
umask 007

# The default of 5 seconds is too low for mysql which needs to flush buffers
kill timeout 300

limit nofile 32000 32000
limit nproc 32000 32000

pre-start script
## Fetch a particular option from mysql’s invocation.
# Usage: void mysqld_get_param option

The lines in bold is solution for my problem.

Restart mysql service and my problem gone 🙂

How to install Apache, MariaDB and PHP on CentOS 7 minimal

After install and configure network under CentOS 7 minimal I continue with LAMP section. Since the machine has 4GB memory I prefer to use old fashion LAMP. Only switch MySQL with MariaDB 🙂

The steps for LAMP installation for my own reference and my vps need :

Install required Package

Install nano

# yum install nano

Install Apache, PHP and MariaDB

# yum install httpd mariadb-server mariadb php php-mysql php-mysqli php-gd php-pear php-mbstring

Configure Apache

Start httpd

# systemctl start httpd.service

Set httpd to auto start after reboot or boot process

# systemctl enable httpd.service
ln -s ‘/usr/lib/systemd/system/httpd.service’ ‘/etc/systemd/system/’

By default firewall will block access. To exclude http from firewall block :

# firewall-cmd --permanent --add-service http

# systemctl restart firewalld.service

Try visit ip address from browser


Configure MariaDB

Start mariadb

# systemctl start mariadb

Set mariadb to autostart

# systemctl enable mariadb.service
ln -s ‘/usr/lib/systemd/system/mariadb.service’ ‘/etc/systemd/system/’

Set password for mariadb, delete unnecessary database and users.

# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found


In order to log into MariaDB to secure it, we’ll need the current
password for the root user.  If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
… Success!

Normally, root should only be allowed to connect from ‘localhost’.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
… Success!

By default, MariaDB comes with a database named ‘test’ that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
… Success!

Cleaning up…

All done!  If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

I also need to enable firewall to exclude future database remote backup. Port 3306 is required to open.

# firewall-cmd --permanent --add-port=3306/tcp
# systemctl restart firewalld.service


Next step is measure time needed from start server to get login display and make my report.

How to install MariaDB on CentOS 5.5

First thing I want to try on CentOS 5.5 is mariadb. Fortunately mariadb available in binary for CentOS and don’t force me to install from source like I do with FreeBSD since its not available yet on FreeBSD ports.

I’m going to install mariadb 5.23 and make it as learning media 🙂

Here the steps :

Download mariadb rpm file

Get all rpm file (client and server) from osuosl mirror.

# ls

MariaDB-client-5.2.3-87.el5.i386.rpm  MariaDB-server-5.2.3-87.el5.i386.rpm

Install the files

# rpm -i MariaDB-*

error: Failed dependencies: is needed by MariaDB-client-5.2.3-87.el5.i386 is needed by MariaDB-client-5.2.3-87.el5.i386 is needed by MariaDB-client-5.2.3-87.el5.i386 is needed by MariaDB-client-5.2.3-87.el5.i386 is needed by MariaDB-server-5.2.3-87.el5.i386 is needed by MariaDB-server-5.2.3-87.el5.i386 is needed by MariaDB-server-5.2.3-87.el5.i386 is needed by MariaDB-server-5.2.3-87.el5.i386

Continue reading

How to upgrade mariadb 5.1.50 to mariadb 5.2.3

New mariadb 5.2.3 version already out. I just curious on how to upgrade mariadb since I just installed it 3 days ago 🙂

From montyprogram :

MariaDB 5.2.3 is a Stable release. In general this means there are no known serious bugs and we believe the code is ready for general usage.

Here’s upgrade process of mariadb from 5.1.50 to 5.2.3 on freebsd 8.1 stable :

Backup first

#cd /usr/local

#tar cvzf var.tar.gz var

#mv var.tar.gz /home/alamsyah

Continue reading

How to install mariadb on FreeBSD

Recent discussion around mysql license and its future lead me to mariadb.

From Wikipedia

MariaDB is a community-developed branch of the MySQL database, the impetus being the community maintenance of its free status under GPL, as opposed to any uncertainty of MySQL license status under its current ownership by Oracle.

The intent also being to maintain high fidelity with MySQL, ensuring a “drop-in” replacement capability with library binary equivalency and exacting matching with MySQL APIs and commands. It includes the XtraDB storage engine as a replacement for InnoDB.

Its lead developer is Monty Widenius, the founder of MySQL and Monty Program AB.”

dba by night, ninja by nightBeing curious I decide to install mariadb on my Freebsd 8.1 stable . My first option for install is via ports but at time writing I don’t find the mariadb port 🙁

After search and dig google I came up with solution on how to install mariadb from source.

Here the steps :

Continue reading