This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
сервис_mysql [2018/02/01 13:35] val [phpmyadmin] |
сервис_mysql [2024/09/02 05:39] (current) val [Debian/Ubuntu] |
||
---|---|---|---|
Line 6: | Line 6: | ||
* на все вопросы о пароле пользователя root нажимаем "Enter" | * на все вопросы о пароле пользователя root нажимаем "Enter" | ||
+ | * ставится 3-4 минуты | ||
<code> | <code> | ||
- | root@server:~# apt install mysql-server | + | debian# apt install default-mysql-server |
+ | |||
+ | ubuntu20# apt install mysql-server | ||
</code> | </code> | ||
==== FreeBSD ==== | ==== FreeBSD ==== | ||
<code> | <code> | ||
- | freebsd10# pkg install mysql56-server | + | freebsd11# pkg install mysql56-server |
- | [server:~] # service mysql-server rcvar | + | [server:~] # sysrc mysql_enable=yes |
[server:~] # service mysql-server start | [server:~] # service mysql-server start | ||
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 ===== | ||
- | ==== Начиная версии 5.7 ==== | + | * [[https://mariadb.com/kb/en/authentication-plugin-unix-socket/|Authentication Plugin - Unix Socket]] |
* [[https://www.rosehosting.com/blog/how-to-reset-your-mariadb-root-password/|How to reset your MariaDB root password?]] | * [[https://www.rosehosting.com/blog/how-to-reset-your-mariadb-root-password/|How to reset your MariaDB root password?]] | ||
+ | ==== MariaDB ==== | ||
+ | |||
+ | <code> | ||
+ | MariaDB [(none)]> ALTER USER root@localhost IDENTIFIED VIA mysql_native_password; | ||
+ | |||
+ | MariaDB [(none)]> SET PASSWORD = PASSWORD('12345678'); | ||
+ | |||
+ | # service mysql restart | ||
+ | </code> | ||
+ | |||
+ | ==== MySQL, начиная c версии 5.7 ==== | ||
+ | |||
* [[https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/|Change user password in MySQL 5.7 with “plugin: auth_socket”]] | * [[https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/|Change user password in MySQL 5.7 with “plugin: auth_socket”]] | ||
Line 55: | Line 80: | ||
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678'; | ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678'; | ||
</code> | </code> | ||
- | ==== До версии 5.7 ==== | + | ==== MySQL, до версии 5.7 ==== |
<code> | <code> | ||
# mysqladmin --user=root password somepassword | # mysqladmin --user=root password somepassword | ||
Line 75: | Line 100: | ||
==== Из командной строки ==== | ==== Из командной строки ==== | ||
<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 139: | Line 164: | ||
general-log-file=/var/log/mysql/q.log | general-log-file=/var/log/mysql/q.log | ||
log-output=file | log-output=file | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | ===== adminer ===== | ||
+ | |||
+ | * [[https://www.adminer.org/]] | ||
+ | |||
+ | <code> | ||
+ | # apt install adminer | ||
+ | |||
+ | # cat /etc/apache2/sites-available/000-default.conf | ||
+ | </code><code> | ||
+ | ... | ||
+ | Alias /adminer /usr/share/adminer/adminer/ | ||
... | ... | ||
</code> | </code> | ||
===== phpmyadmin ===== | ===== phpmyadmin ===== | ||
+ | |||
+ | * Выбрать apache2, все остальное по умолчанию | ||
<code> | <code> | ||
Line 150: | Line 191: | ||
# 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> |