Initial import
This commit is contained in:
130
DOC/mysql.txt
Normal file
130
DOC/mysql.txt
Normal file
@ -0,0 +1,130 @@
|
||||
## - ----------------------------------------------------------------
|
||||
## - MySql Superuser anlegen
|
||||
## - ----------------------------------------------------------------
|
||||
|
||||
## - Bemerkung:
|
||||
## - Das Passwort wird verschl<68>sselt abgespeichert
|
||||
|
||||
## - Von <20>berall:
|
||||
## -
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'admin' IDENTIFIED BY 'Nyz!aB2u' WITH GRANT OPTION ;
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
## - Nur von loacalhost
|
||||
## -
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'Nyz!aB2u' WITH GRANT OPTION ;
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
|
||||
|
||||
## - ----------------------------------------------------------------
|
||||
## - Dantenbank anlegen, User anlegen mit vollen Rechten auf der Datenbank
|
||||
## - ----------------------------------------------------------------
|
||||
|
||||
CREATE DATABASE <new_db_name> CHARACTER SET utf8 COLLATE utf8_general_ci;
|
||||
GRANT ALL ON new_db.* TO 'new_user'@'localhost' IDENTIFIED BY 'password';
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
|
||||
## - Dantenbank anlegen, User mit eingeschrenkten Rechten auf der Datenbank
|
||||
## -
|
||||
## - Beispiel: vpopmail
|
||||
## -
|
||||
CREATE DATABASE vpopmail;
|
||||
GRANT select,insert,update,delete,create,drop ON vpopmail.* TO 'vpop'@'localhost' IDENTIFIED BY 'r23myzmx';
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
|
||||
## - ----------------------------------------------------------------
|
||||
## - Zeige alle Views einer Datenbank
|
||||
## - ----------------------------------------------------------------
|
||||
|
||||
SHOW FULL TABLES IN <db_name> WHERE TABLE_TYPE LIKE 'VIEW'
|
||||
|
||||
|
||||
## - ----------------------------------------------------------------
|
||||
## - Zeige Definition eines Views
|
||||
## - ----------------------------------------------------------------
|
||||
|
||||
show CREATE VIEW <view_name>;
|
||||
|
||||
|
||||
## - ----------------------------------------------------------------
|
||||
## - Datenbank User und deren Rechte auslesen
|
||||
## - ----------------------------------------------------------------
|
||||
mysql -uroot -pbuz111 mysql --skip-column-name -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'';" | mysql -uroot -pbuz111 mysql --skip-column-name -A | sed 's/$/;/g' > ~/mysql-grants.sql
|
||||
|
||||
|
||||
|
||||
## - ----------------------------------------------------------------
|
||||
## - Convert databese from current latin1 to utf8
|
||||
## - ----------------------------------------------------------------
|
||||
|
||||
db_name=<database-name>
|
||||
db_user=<database-user>
|
||||
db_pass=<database-password>
|
||||
|
||||
old_charset=latin1
|
||||
#old_collate=latin1_swedish_ci - NOT NEEDED
|
||||
new_charset=utf8
|
||||
new_collate=utf8_unicode_ci
|
||||
|
||||
## - 1.) dump the databse as follows:
|
||||
dumpfile=${db_name}-${old_charset}.`date +%Y%m%d-%H%M`.sql
|
||||
mysqldump -u$db_user -p$db_pass --set-charset --skip-set-charset --add-drop-table $db_name > $dumpfile
|
||||
|
||||
## - 2.) change character settings on mysql monitor
|
||||
query="ALTER DATABASE \`$db_name\` DEFAULT CHARACTER SET $new_charset DEFAULT COLLATE $new_collate;"
|
||||
mysql -u$db_user -p$db_pass $db_name -e "$query"
|
||||
|
||||
## - 3.) Load he dumpfile
|
||||
mysql -u$db_user -p$db_pass --default-character-set=$old_charset $db_name < $dumpfile
|
||||
|
||||
## - 4.) show result
|
||||
mysql -u$db_user -p$db_pass $db_name -e "SHOW CREATE DATABASE $db_name\G"
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
|
||||
## - dump database WITHOUT CREATE TABLE Statements - useful, if you
|
||||
## - want add entries into existing tables of an existing database,
|
||||
## - i.e. database "mysql"
|
||||
## -
|
||||
mysqldump -uroot -p --add-locks --disable-keys --extended-insert \
|
||||
--lock-tables --quick --set-charset --no-create-info mysql > db_mysql.sql
|
||||
|
||||
## - durmp table "user" from database mysql without CREATE TABLE statment
|
||||
## -
|
||||
mysqldump -uroot -pbuz111 --add-locks --disable-keys --extended-insert --lock-tables --quick --set-charset --no-create-info mysql user | sed 's#),(#);\n(#g' | sed 's#^(#INSERT INTO `user` VALUES (#' > mysql-user.sql
|
||||
|
||||
|
||||
## - restore
|
||||
mysql -uroot -pbuz111 -f mysql < mysql-user.sql
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
## charset f<>r den MySQL monitor einstellen
|
||||
##
|
||||
mysql> SET CHARACTER SET UTF8;
|
||||
## bzw.
|
||||
mysql> \C utf8
|
||||
|
||||
|
||||
## zeige Server-Konfiguration
|
||||
##
|
||||
mysql> SHOW VARIABLES;
|
||||
|
||||
mysql> SHOW /*!50000 global */ VARIABLES ;
|
||||
mysql> SHOW /*!50000 global */ VARIABLES LIKE "%slow%";
|
||||
|
||||
|
||||
## - Zeige Sever Status
|
||||
## -
|
||||
mysql> SHOW STATUS ;
|
||||
|
||||
mysql> SHOW /*!50000 global */ STATUS ;
|
||||
mysql> SHOW /*!50000 global */ STATUS LIKE "slow%";
|
Reference in New Issue
Block a user