Difference between revisions of "MySQL"

From wiki.linuxonlinehelp.eu
Jump to navigation Jump to search
m
Line 3: Line 3:
 
'''Always use mysql "console" instead of "phpmyadmin" for Security reasons!!!'''
 
'''Always use mysql "console" instead of "phpmyadmin" for Security reasons!!!'''
  
If you want to show the size of all databases installed do:
+
==List Size of all Databases==
  
login as mysql admin
+
Login as mysql user admin  
 +
do:
 
<pre>
 
<pre>
 
mysql -u admin -p
 
mysql -u admin -p
Line 15: Line 16:
 
</pre>
 
</pre>
  
Create database named "test":
+
==Create new Database==
 
<pre>
 
<pre>
 
mysql> create database test;  
 
mysql> create database test;  
 
</pre>
 
</pre>
Delete database named "test":
+
 
 +
==Delete Database==
 
<pre>
 
<pre>
 
mysql> drop database test;
 
mysql> drop database test;
 
</pre>
 
</pre>
Update/Reload Databases at MYSQL Server:
+
 
 +
==Reload User Privileges==
 
<pre>
 
<pre>
 
mysql> flush privileges;
 
mysql> flush privileges;
 
</pre>
 
</pre>
Dump all Databases - Note: This do only if you want Restore the same Server, cause MySQL System Databases like "mysql or information_schema" are dumped too!! This will break on other Servers!
+
 
 +
== Dump all Databases==
 +
Note: This do only if you want Restore the same "named" Server, cause MySQL System Databases like "mysql" or "information_schema" are dumped too!!  
 +
This will break on other MySQL Servers!
 
<pre>
 
<pre>
 
mysql > mysqldump -u root -p --opt --all-databases > databases-dump-$date.sql
 
mysql > mysqldump -u root -p --opt --all-databases > databases-dump-$date.sql
 
</pre>
 
</pre>
mysql > Its better you write a Bash Script to dump every Database for its own! This does not scramble a fresh setup!
+
Remark: It's better you write a Bash Script to dump every Database for its own! This does not scramble a fresh Setup!
 
 
 
== User Handling ==
 
== User Handling ==
 
<pre>
 
<pre>

Revision as of 21:20, 19 May 2017

MySQL commands for the MySQL console

Always use mysql "console" instead of "phpmyadmin" for Security reasons!!!

List Size of all Databases

Login as mysql user admin do:

mysql -u admin -p

at the mysql prompt do:

mysql> SELECT table_schema "Data Base Name", sum( data_length + index_length) / 1024 / 1024 
"Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema;

Create new Database

mysql> create database test; 

Delete Database

mysql> drop database test;

Reload User Privileges

mysql> flush privileges;

Dump all Databases

Note: This do only if you want Restore the same "named" Server, cause MySQL System Databases like "mysql" or "information_schema" are dumped too!! This will break on other MySQL Servers!

mysql > mysqldump -u root -p --opt --all-databases > databases-dump-$date.sql

Remark: It's better you write a Bash Script to dump every Database for its own! This does not scramble a fresh Setup!

User Handling

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON db.* TO ‘user’@'localhost’;

UPDATE mysql.user SET Password=PASSWORD('newpassword') WHERE User='username'; FLUSH PRIVILEGES;

List Users

Login to MySQL Console as Admin, go into the System Database called mysql, and list.

mysql -u mysqladminname -p

use mysql;

select * from mysql.user;

Special Characters Names Users Databases Problems

These Characters can run you into problems cause Signs like Quotes (` ´ ) are NOT DISPLAYED at the mysql Console!

Character   Escape Sequence
\0  An ASCII NUL (0x00) character.
\'  A single quote (“'”) character.
\"  A double quote (“"”) character.
\b  A backspace character.
\n  A newline (linefeed) character.
\r  A carriage return character.
\t  A tab character.
\Z  ASCII 26 (Control-Z). See note following the table.
\\  A backslash (“\”) character.
\%  A “%” character. See note following the table.
\_  A “_” character. See note following the table.