Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
ru:howtos:databases:install_mysql_on_slackware [2013/04/03 20:05 (UTC)] – [Добавление поддержки Unicode] drhouse123 | ru:howtos:databases:install_mysql_on_slackware [2015/03/05 13:56 (UTC)] (текущий) – drhouse123 |
---|
====== Установите MySQL на Slackware ====== | ====== Установка MySQL на Slackware ====== |
| |
===== Установка MySQL ===== | ===== Установка MySQL ===== |
Установите MySQL из официальных дисков Slackware или используя [[slackware:slackpkg|slackpkg]]. Если Вы выполнили полную установку Slackware, то у Вас уже есть MySQL на Вашем компьютере. | Установите MySQL c официальных дисков Slackware или используя [[slackware:slackpkg|slackpkg]]. Если выполнена полная установка Slackware, то он уже установлен на компьютер. |
| |
===== Настройка MySQL ===== | ===== Настройка MySQL ===== |
| |
- Создайте необходимую базу (ы) данных и установите их разрешения должным образом \\ Выполните от имени пользователя root: <code> | - Создайте необходимую базу данных и установите разрешения должным образом \\ Выполните от имени пользователя root: <code> |
root@darkstar# mysql_install_db --user=mysql | root@darkstar# mysql_install_db --user=mysql |
</code> Пользователь, определенный в ''--user'' будет владеть файлами базы данных, таким образом, важно задать правильного пользователя, в противном случае MySQL не будет сможет производить запись Ваших баз данных. По умолчанию MySQL в Slackware работает как пользователь “mysql”, так как это безопасный выбор | </code> Пользователь, определенный в ''--user'' владеет файлами базы данных, таким образом, важно задать правильного пользователя, в противном случае MySQL не сможет производить запись баз данных. По умолчанию MySQL в Slackware работает от пользователя “mysql”, так как это безопасный выбор |
- Сделайте выполняемым //rc script// чтобы запускать MySQL автоматические при старте \\ //Это опционально.// <code> | - Сделайте исполняемым //rc script// чтобы запускать MySQL автоматические при старте \\ //Опционально.// <code> |
root@darkstar# chmod 755 /etc/rc.d/rc.mysqld | root@darkstar# chmod 755 /etc/rc.d/rc.mysqld |
</code> | </code> |
- Добавьте поддержку сети, по желанию \\ Поддержку сети по умолчанию неактивна для того чтобы улучшить безопасность. Если Вы хотите необходимо поддержка сетевых соединений, раскомментируйте эту строку в ''/etc/rc.d/rc.mysqld'': <file sh rc.mysqld> | - Добавьте поддержку сети, по желанию \\ Поддержка сети по умолчанию неактивна, для того чтобы улучшить безопасность. Если необходима поддержка сетевых соединений, раскомментируйте эту строку в ''/etc/rc.d/rc.mysqld'': <file sh rc.mysqld> |
#SKIP="--skip-networking" | #SKIP="--skip-networking" |
</file> | </file> |
- Запустите mysqld <code> | - Запустите mysqld <code> |
root@darkstar# /etc/rc.d/rc.mysqld start | root@darkstar# /etc/rc.d/rc.mysqld start |
</code> и продолжите двигаться к следующей секции "Обеспечение защиты MySQL". | </code> и перейдите к следующей секции "Обеспечение защиты MySQL". |
| |
===== Обеспечение защиты MySQL ===== | ===== Обеспечение защиты MySQL ===== |
| |
<note>Вы можете выбрать : Ручная или Автоматическая настройка защищенного доступа</note> | <note>Вы можете выбрать: ручную или автоматическую настройку защищенного доступа</note> |
| |
==== Автоматическая настройка защищенного доступа ==== | ==== Автоматическая настройка защищенного доступа ==== |
- Запустите следующую команду и ответьте на вопросы <code> | - Запустите следующую команду и ответьте на вопросы <code> |
root@darkstar# /usr/bin/mysql_secure_installation | root@darkstar# /usr/bin/mysql_secure_installation |
</code> // Начальный пароль root, "" (пустая последовательность), поэтому просто нажмите <key>ENTER</key> when the above command asks for the password// | </code> // Начальный пароль root, "" (пустая последовательность), поэтому просто нажмите <key>ENTER</key> когда вышеупомянутая команда попросит пароль// |
| |
==== Ручная настройка защищенного доступа ==== | ==== Ручная настройка защищенного доступа ==== |
- Установите пароль MySQL для учетной записи root <code> | - Установите пароль MySQL для учетной записи root <code> |
root@darkstar# mysqladmin -u root password 'new-password-here' | root@darkstar# mysqladmin -u root password 'new-password-here' |
</code> Если Вы активировали сетевые соединения, то Вы должны также запустить: <code> | </code> Если активированы сетевые соединения, то необходимо также запустить: <code> |
root@darkstar# mysqladmin -u root -h 'your-hostname' password 'new-password' | root@darkstar# mysqladmin -u root -h 'your-hostname' password 'new-password' |
</code> | </code> |
<note tip> | <note tip> |
Проверьте результаты ''mysql_install_db'', Вы можете копировать эти команды. hostname будет заменен Вашим. . | Проверьте результаты ''mysql_install_db'', можно копировать эти команды. hostname будет заменен ваш. . |
</note> | </note> |
| |
user@darkstar$ mysql -u root -p | user@darkstar$ mysql -u root -p |
</code> | </code> |
- Из соображений безопасности Вы должны удалить анонимного пользователя | - Из соображений безопасности удалите анонимного пользователя |
* Для localhost сервера: <code> | * Для localhost сервера: <code> |
mysql> use mysql | mysql> use mysql |
mysql> DELETE FROM user WHERE host='localhost' AND user=''; | mysql> DELETE FROM user WHERE host='localhost' AND user=''; |
</code> | </code> |
* Если Вы активировали сетевые соединения, то Вы должны вместо этого запустить: <code> | * Если активированы сетевые соединения, то необходимо вместо этого запустить: <code> |
mysql> use mysql | mysql> use mysql |
mysql> SELECT user, host FROM user; | mysql> SELECT user, host FROM user; |
==== Добавление поддержки Unicode == | ==== Добавление поддержки Unicode == |
| |
- Перейдите в директорию''/etc/'' и избранный конфигурация, которую Вы предпочитаете. Для "простого" обслуживания базы данных без тяжелой нагрузки MySQL рекомендуется использовать "''my-large.cnf''" если у Вас есть 2 ГБ RAM или больше. Скопируйте конфигурационный файл, который Вы выбрали, и назовите копию ''/etc/my.cnf''. | - Перейдите в директорию''/etc/'' и выберите конфигурацию, которую предпочитаете. Для "простого" обслуживания базы данных без тяжелой нагрузки рекомендуется использовать "''my-large.cnf''" если у Вас есть 2 ГБ RAM или больше. Скопируйте конфигурационный файл, который выбрали и назовите копию ''/etc/my.cnf''. |
- Отредактируйте ''/etc/my.cnf'' добавив этих строки в секцию "''[mysqld]''": <code> | - Отредактируйте ''/etc/my.cnf'', добавив эти строки в секцию "''[mysqld]''": <code> |
[mysqld] | [mysqld] |
collation-server = utf8_unicode_ci | collation-server = utf8_unicode_ci |
init-connect='SET NAMES utf8' | init-connect='SET NAMES utf8' |
character-set-server = utf8 | character-set-server = utf8 |
</code> Это дает Вам полную поддержку UTF8 в Вашем сервере MySQL, после того, как Вы перезапустили его. | </code> Это активирует полную поддержку UTF8 в сервере MySQL, после того, как он будет перезапущен. |
| |
Больше о поддержке кодировки Unicode/UTF8 описано здесь: [[http://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf8-in-my-cnf]] | Больше о поддержке кодировки Unicode/UTF8 описано здесь: [[http://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf8-in-my-cnf]] |
===== Поиск неисправностей ===== | ===== Поиск неисправностей ===== |
| |
* Ошибки запуска сервера могут быть замечены в журнале ошибок, который расположен по умолчанию в ''/var/lib/mysql/<hostname>.err''. Другой выбор состоит в том, чтобы управлять сервером непосредственно и направить выхлоп на экран (используйте <key>C-\</key> чтобы остановить сервер). Run: <code> | * Ошибки запуска сервера могут быть замечены в журнале ошибок, расположенном по умолчанию в ''/var/lib/mysql/<hostname>.err''. Другой выбор состоит в том, чтобы управлять сервером непосредственно и направить вывод на экран (используйте <key>C-\</key> чтобы остановить сервер). Run: <code> |
root@darkstar# /usr/bin/mysqld_safe --console | root@darkstar# /usr/bin/mysqld_safe --console |
</code> | </code> |
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; | UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; |
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; |
</file> Save this file (any name would do) and start the server with the --init-file argument: <code> | </file> Сохраните этот файл (любое имя), и запустите сервер с аргументом --init-file : <code> |
root@darkstar# /usr/bin/mysqld_safe --defaults-file="new_cnf_file.cnf" | root@darkstar# /usr/bin/mysqld_safe --defaults-file="new_cnf_file.cnf" |
</code> | </code> |