MySQL is “The world’s most popular open source database”. It is easy to setup MySQL either in Linux or Windows. Installation procedure creates the first user root and applies basic configuration to current database server.
There are many database managers with user friendly graphical or web based interface, useful to perform basic or advanced MySQL administration tasks. However, these applications are not always available (for example in production server environment). MySQL (as any other database server) offers mysql client and the utility mysqldump, which are command line tools, useful to manage our MySQL server.
Here are the most important tasks for everyday use, every administrator or web developer needs to know.
Connect
Localhost
mysql -u username -p
Remote host
mysql -u username -p -h hostname
REMARK: in order to increase security, do not provide your
password (e.g. mysql -u username -p[password]
). Wait
the system to prompt for the password.
Create database
We suppose that InnoDb is default in server installation and utf8 is default database collation.
mysql -u username -p
create database dbname collate utf8_general_ci;
“_ci” means case insensitive.
Delete database
Use the following commands:
mysql -u username -p
drop database dbname;
Create user
Use the following commands:
mysql -u username -p
create user 'username'@'hostname' identified by 'password';
grant all privileges on dbname.* to 'username'@'hostname';
flush privileges;
hostname = localhost or remote host or IP
Set or change user password
Use the following command:
mysql -u username -p
set password=password('password');
Export database to SQL
Export entire database
mysqldump -u username -p dbname > /path/to/db.sql
Export only schema
mysqldump -u username -p --no-data dbname > /path/to/db_structure.sql
Export only data
mysqldump -u username -p --no-create-info dbname > /path/to/db_data.sql
Export a table
mysqldump -u username -p dbname tablename > /path/to/db.sql
Import database from SQL
From Shell
mysql -u username -p < /path/to/db.sql
From client environment
mysql -u username -p
use dbname;
set names utf8;
source /path/to/db.sql
Execute query from sql file
Use the following command:
mysql -u username -p < /path/to/query.sql
Database objects
List all MySQL databases
mysql -u username -p
show databases;
List tables in MySQL database
mysql -u username -p
use dbname;
show tables;
View table structure
mysql -u username -p
use dbname;
describe tablename;
Exit client
Exit client and return to Shell:
exit;
Entrepreneur | Full-stack developer | Founder of MediSign Ltd. I have over 15 years of professional experience designing and developing web applications. I am also very experienced in managing (web) projects.