131 lines
4.2 KiB
Plaintext
131 lines
4.2 KiB
Plaintext
## - ----------------------------------------------------------------
|
|
## - MySql Superuser anlegen
|
|
## - ----------------------------------------------------------------
|
|
|
|
## - Bemerkung:
|
|
## - Das Passwort wird verschlüsselt abgespeichert
|
|
|
|
## - Von Ü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%";
|