Here's a cheat-sheet for basic database management and manipulation in MySQL
.
find where mysql is installed
type -a mysql
restart
sudo service mysql restart
location
/usr/local/var/mysql
access mysql shell as root
mysql -u root -p
show/list databses
SHOW DATABASES;
create database
CREATE DATABASE database_name;
drop database
DROP DATABASE IF EXISTS database_name;
open existing database
USE database_name;
list all tables
SHOW tables;
what’s our table look like?
DESCRIBE potluck;
create table
CREATE TABLE potluck (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), food VARCHAR(30), confirmed CHAR(1), signup_date DATE);
create user
USE databaseName; CREATE USER 'USERNAME' IDENTIFIED BY 'PASSWORD'; grant CREATE,INSERT,DELETE,UPDATE,SELECT on databaseName.* to user@localhost; grant ALL PRIVELAGES on databaseName.* to user@localhost; set password for user = password('mysecretpassword'); set password for user@localhost = password('mysecretpassword'); grant ALL on database.* to databaseName@'%' identified by 'mysecretpassword'; exit;
add data to table
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "John", "Casserole","Y", '2012-04-11');
alter table
ALTER TABLE potluck ADD email VARCHAR(40); ALTER TABLE potluck ADD email VARCHAR(40) AFTER name; ALTER TABLE potluck DROP email;
delete row
DELETE from potluck where name='Sandy';
list of users
SELECT User FROM mysql.user;
show user granted permissions
SHOW GRANTS; SHOW GRANTS FOR CURRENT_USER; SHOW GRANTS FOR CURRENT_USER();
Create User
CREATE USER 'marko' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON dbname.* TO 'marko';
Check MySQL Status
/etc/init.d/mysql status
CHeck if MySQL is Running
ps aux | grep mysql ps wwaux | grep -i sql
Restart MySQL
sudo /etc/init.d/mysql restart
Check Open Ports
netstat -tulpen