This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
сервис_mysql [2018/04/27 09:58] val [phpmyadmin] |
сервис_mysql [2020/10/06 14:55] val [Из командной строки] |
||
---|---|---|---|
Line 6: | Line 6: | ||
* на все вопросы о пароле пользователя root нажимаем "Enter" | * на все вопросы о пароле пользователя root нажимаем "Enter" | ||
+ | * ставится 3-4 минуты | ||
<code> | <code> | ||
- | root@server:~# apt install mysql-server | + | debian10# apt install default-mysql-server |
+ | |||
+ | server# apt install mysql-server | ||
</code> | </code> | ||
Line 44: | Line 47: | ||
</code> | </code> | ||
+ | ===== Управление параметрами сервера ===== | ||
+ | |||
+ | <code> | ||
+ | # cat /etc/mysql/conf.d/my-custom-settings.cnf | ||
+ | </code><code> | ||
+ | [mysqld] | ||
+ | sql_mode="" | ||
+ | innodb_strict_mode=OFF | ||
+ | </code><code> | ||
+ | # service mysql restart | ||
+ | </code> | ||
===== Смена пароля пользователя root ===== | ===== Смена пароля пользователя root ===== | ||
Line 75: | Line 89: | ||
==== Из командной строки ==== | ==== Из командной строки ==== | ||
<code> | <code> | ||
- | # mysql billing -u billing --password=XXX -B --skip-column-names -e "select login, pass from accounts where uid=YYY" | + | # mysql billing -u billing --password=XXX -B --skip-column-names -e "select login, pass from accounts where uid=YYY" | tr '\t' ';' |
</code> | </code> | ||
===== Управление базами данных и пользователями ===== | ===== Управление базами данных и пользователями ===== | ||
Line 143: | Line 157: | ||
===== adminer ===== | ===== adminer ===== | ||
- | |||
- | Попробовать | ||
* [[https://www.adminer.org/]] | * [[https://www.adminer.org/]] | ||
Line 150: | Line 162: | ||
<code> | <code> | ||
# apt install adminer | # apt install adminer | ||
+ | |||
+ | # cat /etc/apache2/sites-available/000-default.conf | ||
+ | </code><code> | ||
+ | ... | ||
+ | Alias /adminer /usr/share/adminer/adminer/ | ||
+ | ... | ||
</code> | </code> | ||
Line 162: | Line 180: | ||
# less /etc/phpmyadmin/apache.conf | # less /etc/phpmyadmin/apache.conf | ||
+ | </code><code> | ||
+ | http://server.corpX.un/phpmyadmin | ||
</code> | </code> | ||
- | |||
- | * http://server.corpX.un/phpmyadmin | ||
- | |||
===== Управление сбоями ===== | ===== Управление сбоями ===== | ||
- | * Можно в консоли сервера запустить mysqlcheck -r, он автоматически починит проблемные таблицы во всех базах. | ||
* [[http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html|SHOW PROCESSLIST Syntax]] | * [[http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html|SHOW PROCESSLIST Syntax]] | ||
+ | |||
+ | <code> | ||
+ | 1. Настраиваем mysql на работу в режиме чтения | ||
+ | |||
+ | # nano /etc/my.cnf | ||
+ | ... | ||
+ | innodb_force_recovery=4 | ||
+ | ... | ||
+ | |||
+ | 2. Запускаем из командной строки | ||
+ | |||
+ | /usr/libexec/mysqld --skip-grant & | ||
+ | |||
+ | 3. Бекапим все базы данных | ||
+ | |||
+ | mysqldump --all-databases --add-drop-table > dumpfile.sql | ||
+ | |||
+ | 4. Останавливаем сервер | ||
+ | |||
+ | killall mysqld | ||
+ | |||
+ | 5. Убираем настройку работы в режиме чтения | ||
+ | |||
+ | nano /etc/my.cnf | ||
+ | ... | ||
+ | #innodb_force_recovery=4 | ||
+ | ... | ||
+ | |||
+ | 6. Удаляем/перемещаем каталог со старыми базами данных | ||
+ | |||
+ | mv /var/lib/mysql /var/lib/mysql_ | ||
+ | |||
+ | 7. Создаем новый каталог для баз данных с нужными правами | ||
+ | |||
+ | mkdir /var/lib/mysql/ | ||
+ | chown mysql:mysql /var/lib/mysql/ | ||
+ | |||
+ | 8. Создаем системные базы данных в новом каталоге | ||
+ | |||
+ | /usr/libexec/mysqld --initialize --user=mysql | ||
+ | |||
+ | 9. Запускаем сервис | ||
+ | |||
+ | /etc/init.d/mysqld start | ||
+ | 10. Восстанавливаем остальные базы данных из бекапа | ||
+ | |||
+ | mysql < dumpfile.sql | ||
+ | </code> |