User Tools

Site Tools


сервис_mysql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
сервис_mysql [2018/03/20 09:55]
val [FreeBSD]
сервис_mysql [2021/03/12 15:24]
val [MariaDB]
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 15: Line 18:
 freebsd11# 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>​
сервис_mysql.txt · Last modified: 2021/10/12 10:28 by val