MySQL
sudo apt install mysql-server
Для проверки MySQL можно установить phpMyAdmin:
sudo /etc/init.d/mysql start sudo apt install phpmyadmin
Проверка: http://localhost/phpmyadmin
Запуск, перезапуск, остановка MySQL:
sudo /etc/init.d/mysql start sudo /etc/init.d/mysql restart sudo /etc/init.d/mysql stop
Конфиг MySQL в Ubuntu 15.10 здесь: /etc/mysql/mysql.conf.d/mysqld.cnf
Если MySQL работает медленно, попробуйте добавить в конфиг строку:
innodb_flush_log_at_trx_commit=2
Также может быть полезно добавить строку:
innodb_log_file_size=64M
Подробнее см.: https://www.quora.com/Why-would-an-INSERT-query-be-slow-in-MySQL
general_log_file = /var/log/mysql/mysql.log log_error = /var/log/mysql/error.log log_slow_queries = /var/log/mysql/mysql-slow.log
Показывать последние строки в лог файле по мере их появления:
sudo tail -f /var/log/mysql/mysql.log
sudo tail -f /var/log/mysql/error.log
Общий принцип:
mysqldump -u USER -p DATABASE > db.sql
Со сжатием:
mysqldump -u USER -p DATABASE | gzip > db.sql.gz
С именованием файла по текущей дате:
mysqldump -u USER -p DATABASE | gzip > `date +%Y-%m-%d_%H-%M`.sql.gz
С быстрым заполнением параметров (один раз указать имя базы, если имя юзера совпадает с базой), добавлением к имени бэкапа названия базы данных и отображением имени и размера файла в конце:
db='DATABASE'; user=$db; backup=`date +%Y-%m-%d_%H-%M`'_'$db'.sql.gz'; mysqldump -u $user -p $db | gzip > $backup; du -h $backup; unset db user backup
С отображением прогресса (используется дополнительная программа pv):
db='DATABASE'; user=$db; backup=`date +%Y-%m-%d_%H-%M`'_'$db'.sql.gz'; mysqldump -u $user -p $db | gzip | pv > $backup; unset db user backup
mysql -u USER -p PASSWORD DATABASE < FILE.sql
Импорт базы данных их архива .gz и с отображением прогресса:
pv FILE.sql.gz | gunzip | mysql -u USER -p DATABASE
найти последний бекап:
db=DATABASE ;ssh root@91.222.64.31 "ls -lh /var/backup/db/latest/ | grep $db"
все бекапы последних дней:
db=DATABASE ;ssh root@91.222.64.31 "ls -lh /var/backup/db/daily/*/* | grep $db"
за последнюю неделю:
db=DATABASE ;ssh root@91.222.64.31 "ls -lh /var/backup/db/weekly/*/* | grep $db"
за последний месяц:
db=DATABASE ;ssh root@91.222.64.31 "ls -lh /var/backup/db/monthly/*/* | grep $db"
- DATABASE - имя базы данных
- ip удаленного MySQL: 91.222.64.31
- ip локального MySQL: 91.197.131.59
sudo update-alternatives --remove my.cnf /etc/mysql/my.cnf.migrated sudo service mysql start sudo apt-get -f install
См. подробнее Bug #1571865 “mysql fails to start after upgrade if previous def...”