Securing MySQL

Due to differing needs and requirements this is difficult to answer except on a case by case basis. The MySQL website has a section regarding general security of a MySQL database available here: http://dev.mysql.com/doc/refman/5.0/en/security.html

Additionally some good practices are:


1. Verify your root MySQL account password is set


2. the test account and database that were created during the initial installation

Login to mysql as root, from the command prompt "shell> mysql -u root -p mysql" and enter the password when prompted
mysql> drop database test;
mysql> use mysql;
mysql> delete from user where user='test';
mysql> delete from user where user='';
mysql> flush privileges;
3. Make sure that each account has a password set


4. Do not grant global privileges unnecessarily


5. Avoid using wildcards in the hostname value associated with accounts


6. Periodically review users and databases that are setup in MySQL


7. Do not use passwords on the command line. From the command line you can login to MySQL using "shell> mysql -u root -password=somepassword mysql" the problem with this is anyone on the server could view your password with a simple process list command "shell> ps". The correct usage would be: "shell> mysql -u root -p mysql", from this MySQL will prompt your for your password and it will not show up in the process list as plain text.

  • 1 أعضاء وجدوا هذه المقالة مفيدة
هل كانت المقالة مفيدة ؟

مقالات مشابهة

How do I export and import a mysql db using PHPMyAdmin?

Step 1: Open phpMyAdmin and select the database from where you want to export data and/or...

What is the number of maximum connections allowed to a single MySQL database?

We allow up to 50 simultaneous connections per MySQL user, and up to 1500 simultaneous...

Can I backup my MySQL database? How do I backup my database?

You can backup your database two ways. 1. Click on Backup in Cpanel then click on the database...

How do I create a database in MySQL?

You can create a database via your control panel by clicking on the mySQL icon. When you create...