====== Databases ====== ===== Reset password ===== Start database without permission checking: service mysql stop mysqld_safe --skip-grant-tables & Set new password mysql --user=root mysql update user set Password=PASSWORD('new-password-here') WHERE User='root'; ... killall mysqld ===== Executing SQL as root without password ==== Create file mysql-init with commands to execute at start. service mysql stop mysqld_safe --init-file=./mysql-init.sql & GRANT LOCK TABLES ON *.* TO 'debian-sys-maint'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost'; GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxxxxxx' GRANT ALL ON testDB.* TO 'demo-user'@'localhost'; ==== MySQL ==== show databases; show tables; === Permissions === SHOW GRANTS; SHOW GRANTS FOR CURRENT_USER; SHOW GRANTS FOR CURRENT_USER(); SELECT User,Host,Password FROM mysql.user; flush privileges; === Optimize databases === #!/bin/bash mysqlcheck --all-databases mysqlcheck --all-databases -o mysqlcheck --all-databases --auto-repair mysqlcheck --all-databases --analyze