Spec-Zone .ru
спецификации, руководства, описания, API

2.10.1. Постпроцессы установки Unix

2.10.1.1. Проблемы, Работающие mysql_install_db
2.10.1.2. Запуск и MySQL Stopping Автоматически
2.10.1.3. Запуск и Поиск и устранение неисправностей MySQL Server

После установки MySQL на Unix следует инициализировать таблицы предоставления, запустить сервер, и удостовериться, что сервер работает удовлетворительно. Можно также хотеть принять меры, чтобы сервер был запущен и остановлен автоматически, когда Ваша система запускается и останавливается. Следует также присвоить пароли учетным записям в таблицах предоставления.

На Unix таблицы предоставления устанавливаются mysql_install_db программой. Для некоторых методов установки эта программа выполняется для Вас автоматически, если существующая база данных не может быть найдена.

Для других платформ и типов установки, включая универсальный двоичный файл и исходные установки, Вы должны будете выполнить mysql_install_db самостоятельно.

Следующая процедура описывает, как инициализировать таблицы предоставления (если это не было ранее сделано), и запустите сервер. Это также предлагает некоторые команды, которые можно использовать для теста, является ли сервер доступным и рабочим должным образом. Для получения информации о запуске и остановке сервера автоматически, см. Раздел 2.10.1.2, "Запускаясь и MySQL Stopping Автоматически".

После того, как Вы завершаете процедуру и имеете выполнение сервера, следует присвоить пароли учетным записям, создаваемым mysql_install_db, и возможно ограничить доступ, чтобы протестировать базы данных. Для инструкций см. Раздел 2.10.2, "Защищая Учетные записи MySQL Initial".

В примерах, показанных здесь, сервер работает под идентификатором пользователя mysql учетная запись. Это предполагает, что такая учетная запись существует. Или создайте учетную запись, если она не существует, или заменяет именем различной существующей учетной записи, которую Вы планируете использовать для того, чтобы выполнить сервер. Для получения информации о создании учетной записи см. Создание a mysql Системный Пользователь и Группа, в Разделе 2.2, "Устанавливая MySQL на Unix/Linux Используя Универсальные Двоичные файлы".

  1. Расположение изменения в высокоуровневый каталог Вашей установки MySQL, представленной здесь BASEDIR:

    shell> cd BASEDIR

    BASEDIR каталог установки для Вашего экземпляра MySQL. Это, вероятно, будет что-то как /usr/local/mysql или /usr/local. Следующие шаги предполагают, что Вы изменили расположение на этот каталог.

    Вы найдете несколько файлов и подкаталогов в BASEDIR каталог. Самые важные в целях установки bin и scripts подкаталоги:

    • bin каталог содержит клиентские программы и сервер. Следует добавить имя полного пути этого каталога к Вашему PATH переменная окружения так, чтобы Ваша оболочка нашла программы MySQL должным образом. См. Раздел 2.12, "Переменные окружения".

    • scripts каталог содержит mysql_install_db сценарий, используемый, чтобы инициализировать mysql база данных, содержащая таблицы предоставления, которые хранят права доступа сервера.

  2. В случае необходимости гарантируйте, что содержание распределения доступно для mysql. Если Вы устанавливали распределение как mysql, никакое дальнейшее действие не требуется. Если Вы устанавливали распределение как root, его содержание будет принадлежать root. Измените его владение на mysql выполняя следующие команды как root в каталоге установки. Первая команда изменяет атрибут владельца файлов к mysql пользователь. Вторые изменения атрибут группы к mysql группа.

    shell> chown -R mysql .shell> chgrp -R mysql .
  3. В случае необходимости выполните mysql_install_db программу, чтобы установить начальные таблицы предоставления MySQL, содержащие полномочия, которые определяют, как пользователям разрешают соединиться с сервером. Вы должны будете сделать это, если Вы использовали тип распределения, для которого процесс установки не выполняет программу для Вас.

    shell> scripts/mysql_install_db
                        --user=mysql

    Как правило, mysql_install_db должен быть выполнен только в первый раз, когда Вы устанавливаете MySQL, таким образом, можно пропустить этот шаг, если Вы обновляете существующую установку, Однако, mysql_install_db не перезаписывает существующих таблиц полномочия, таким образом, должно быть безопасно работать при любых обстоятельствах.

    Могло бы быть необходимо определить другие опции такой как --basedir или --datadir если mysql_install_db не идентифицирует корректные расположения для каталога установки или каталога данных. Например:

    shell> scripts/mysql_install_db
                        --user=mysql \         --basedir=/opt/mysql/mysql
                        \         --datadir=/opt/mysql/mysql/data

    mysql_install_db сценарий создает каталог данных сервера с mysql как владелец. В соответствии с каталогом данных, это создает каталоги для mysql база данных, которая содержит таблицы предоставления и test база данных, которую можно использовать, чтобы протестировать MySQL. Сценарий также создает записи таблицы полномочия для root и анонимные учетные записи пользователей. У учетных записей нет никаких паролей первоначально. Раздел 2.10.2, "Защищая Учетные записи MySQL Initial", описывает начальные полномочия. Кратко, эти полномочия разрешают MySQL root пользователь, чтобы сделать что-либо, и разрешить любому создавать или использовать базы данных с именем test или запуск с test_. См. Раздел 6.2, "MySQL Access Privilege System", для полного списка и описания таблиц предоставления.

    Для более безопасной установки вызовите mysql_install_db с --random-passwords опция. Это заставляет это присваивать случайный пароль MySQL root учетные записи, набор "пароль истекший" флаг для тех учетных записей, и удаляют учетные записи MySQL анонимного пользователя. Для дополнительных деталей см. Раздел 4.4.3, "mysql_install_db — Каталог Данных MySQL Initialize". (Операции установки, используя ОБОРОТЫ В МИНУТУ для Небьющейся Сети Linux незатронуты, потому что они не используют mysql_install_db.)

    Важно удостовериться, что каталоги базы данных и файлы принадлежат mysql учетная запись так, чтобы у сервера были доступ для чтения и доступ для записи к ним, когда Вы выполняете это позже. Гарантировать это, если Вы выполняете mysql_install_db как root, включайте --user опция как показано. Иначе, следует выполнить сценарий в то время как зарегистрированный как mysql, когда можно опустить --user опция от команды.

    Если Вы не хотите иметь test база данных, можно удалить это после запуска сервера, используя инструкции в Разделе 2.10.2, "Защищая Учетные записи MySQL Initial".

    Если Вы испытываете затруднения из-за mysql_install_db в этой точке, см. Раздел 2.10.1.1, "Проблемы, Работающие mysql_install_db" .

  4. Большая часть установки MySQL может принадлежать root если Вам нравится. Исключение - то, что каталог данных должен принадлежать mysql. Чтобы выполнить это, выполните следующие команды как root в каталоге установки:

    shell> chown -R root .shell> chown -R mysql data
  5. Если сменный каталог (каталог, названный plugin_dir системная переменная), перезаписываемо сервером, для пользователя может быть возможно записать исполняемый код в файл в использовании каталога SELECT ... INTO DUMPFILE. Это может быть предотвращено, делая plugin_dir только для чтения к серверу или устанавливая --secure-file-priv к каталогу, где SELECT записи могут быть сделаны безопасно.

  6. Если Вы устанавливали MySQL, используя исходное распределение, можно хотеть дополнительно скопировать один из обеспеченных конфигурационных файлов от support-files каталог в Ваш /etc каталог. Есть различные демонстрационные конфигурационные файлы для различных вариантов использования, типов сервера, и конфигураций RAM и ЦП. Если Вы хотите использовать один из этих стандартных файлов, следует скопировать его в /etc/my.cnf, или /etc/mysql/my.cnf и отредактируйте и проверьте конфигурацию прежде, чем запустить Ваш сервер MySQL впервые.

    Если Вы не скопируете один из стандартных конфигурационных файлов, то сервер MySQL будет запущен с настроек по умолчанию.

    Если Вы хотите, чтобы MySQL запустился автоматически, когда Вы загружаете свою машину, можно скопировать support-files/mysql.server к расположению, где у Вашей системы есть свои файлы запуска. Больше информации может быть найдено в mysql.server сценарий непосредственно, и в Разделе 2.10.1.2, "Запускаясь и MySQL Stopping Автоматически".

  7. Запустите сервер MySQL:

    shell> bin/mysqld_safe --user=mysql
                        &

    Важно, чтобы сервер MySQL был выполнен, используя непривилегированное (не -root) учетная запись. Гарантировать это, если Вы выполняете mysqld_safe как root, включайте --user опция как показано. Иначе, следует выполнить сценарий в то время как зарегистрированный как mysql, когда можно опустить --user опция от команды.

    Для дальнейших инструкций для рабочего MySQL как непривилегированный пользователь см. Раздел 6.1.5, "Как к MySQL Run как Нормальный Пользователь".

    Если команда сразу перестала работать и печатные издания mysqld ended, ищите информацию в журнале ошибок (который по умолчанию является host_name.err файл в каталоге данных).

    Если Вы забыли составлять таблицы предоставления, работая mysql_install_db прежде, чем продолжить к этому шагу, следующее сообщение появляется в файле журнала ошибок, когда Вы запускаете сервер:

    mysqld: Can't find file: 'host.frm'

    Эта ошибка также происходит, если Вы выполняете mysql_install_db как root без --user опция. Удалите data каталог и выполненный mysql_install_db с --user опция как описано ранее.

    Если у Вас есть другие проблемы, запуская сервер, см. Раздел 2.10.1.3, "Запускаясь и Диагностируя MySQL Server". Для получения дополнительной информации о mysqld_safe, см. Раздел 4.3.2, "mysqld_safe — MySQL Server Startup Script".

  8. Используйте mysqladmin, чтобы проверить, что сервер работает. Следующие команды обеспечивают простые тесты, чтобы проверить, произошел ли сервер и отвечающие соединения:

    shell> bin/mysqladmin
                        versionshell> bin/mysqladmin
                        variables

    Вывод от mysqladmin версии изменяется немного в зависимости от Вашей платформы и версии MySQL, но должен быть подобным показанному здесь:

    shell> bin/mysqladmin
                        versionmysqladmin  Ver 14.12 Distrib 5.7.2, for pc-linux-gnu on i686...Server version          5.7.2Protocol version        10Connection              Localhost via UNIX socketUNIX socket             /var/lib/mysql/mysql.sockUptime:                 14 days 5 hours 5 min 21 secThreads: 1  Questions: 366  Slow queries: 0Opens: 0  Flush tables: 1  Open tables: 19Queries per second avg: 0.000

    Чтобы видеть, что еще можно сделать с mysqladmin, вызовите его с --help опция.

  9. Проверьте, что можно завершить работу сервера:

    shell> bin/mysqladmin -u root
                        shutdown
  10. Проверьте, что можно запустить сервер снова. Сделайте это при использовании mysqld_safe или вызывая mysqld непосредственно. Например:

    shell> bin/mysqld_safe --user=mysql
                        &

    Если mysqld_safe перестал работать, см. Раздел 2.10.1.3, "Запускаясь и Диагностируя MySQL Server".

  11. Выполните некоторые простые тесты, чтобы проверить, что можно получить информацию от сервера. Вывод должен быть подобным тому, что показывают здесь:

    shell> bin/mysqlshow+--------------------+|     Databases      |+--------------------+| information_schema || mysql              || test               |+--------------------+shell> bin/mysqlshow mysqlDatabase: mysql+---------------------------+|          Tables           |+---------------------------+| columns_priv              || db                        || event                     || func                      || help_category             || help_keyword              || help_relation             || help_topic                || host                      || plugin                    || proc                      || procs_priv                || servers                   || tables_priv               || time_zone                 || time_zone_leap_second     || time_zone_name            || time_zone_transition      || time_zone_transition_type || user                      |+---------------------------+shell> bin/mysql -e "SELECT Host,Db,User FROM db"
                        mysql+------+--------+------+| host | db     | user |+------+--------+------+| %    | test   |      || %    | test_% |      |+------+--------+------+
  12. Есть комплект сравнительного теста в sql-bench каталог (в соответствии с каталогом установки MySQL), что можно использовать, чтобы сравниться, как MySQL выполняет на различных платформах. Комплект сравнительного теста пишется в Perl. Это требует Perl модуля DBI, который обеспечивает независимый от базы данных интерфейс для различных баз данных, и некоторые другие дополнительные модули Perl:

    DBIDBD::mysqlData::DumperData::ShowTable

    Эти модули могут быть получены из CPAN (http://www.cpan.org/). См. также Раздел 2.13.1, "Устанавливая Perl на Unix".

    sql-bench/Results каталог содержит следствия многих выполнений против различных баз данных и платформ. Чтобы выполнить все тесты, выполните эти команды:

    shell> cd sql-benchshell> perl run-all-tests

    Если Вы не имеете sql-bench каталог, Вы, вероятно, устанавливали MySQL, используя файлы ОБ/МИН кроме исходного ОБ/МИН. (Исходный ОБ/МИН включает sql-bench каталог сравнительного теста.) В этом случае, следует сначала установить комплект сравнительного теста прежде, чем можно будет использовать его. Есть отдельные названные файлы ОБ/МИН сравнительного теста mysql-bench-VERSION.i386.rpm это содержит код сравнительного теста и данные.

    Если у Вас есть исходное распределение, есть также тесты в tests подкаталог, который можно выполнить. Например, чтобы работать auto_increment.tst, выполните эту команду из высокоуровневого каталога Вашего исходного распределения:

    shell> mysql -vvf test <
                        ./tests/auto_increment.tst

    Ожидаемый результат теста может быть найден в ./tests/auto_increment.res файл.

  13. В этой точке у Вас должно быть выполнение сервера. Однако, ни у одной из начальных учетных записей MySQL нет пароля, и сервер разрешает разрешающему доступу тестировать базы данных. Чтобы сжать безопасность, следуйте инструкциям в Разделе 2.10.2, "Защищая Учетные записи MySQL Initial".

Процесс установки MySQL 5.7 составляет таблицы часового пояса в mysql база данных, но не заполняет их. Чтобы сделать так, используйте инструкции в Разделе 10.6, "MySQL Server Time Zone Support".

Сделать более удобным вызвать программы, установленные в bin каталог в соответствии с каталогом установки, можно добавить тот каталог к Вашему PATH установка переменной окружения. Это позволяет Вам выполнить программу, вводя только ее имя, не ее весь путь. См. Раздел 4.2.4, "Устанавливая Переменные окружения".

Можно установить новые учетные записи, используя bin/mysql_setpermission сценарий, если Вы устанавливаете DBI и DBD::mysql Модули Perl. См. Раздел 4.6.14, "mysql_setpermission — В интерактивном режиме Полномочия Набора в GrantTables". Для инструкций по установке модуля Perl см. Раздел 2.13, "Замечания по установке Perl".

Если требуется использовать mysqlaccess и иметь распределение MySQL в некотором нестандартном расположении, следует изменить расположение, где mysqlaccess ожидает находить mysql клиент. Отредактируйте bin/mysqlaccess сценарий в приблизительно строке 18. Ищите строку, которая похожа на это:

$MYSQL     = '/usr/local/bin/mysql';    # path to mysql executable

Измените путь, чтобы отразить расположение, где mysql фактически сохранен на Вашей системе. Если Вы не делаете этого, a Broken pipe ошибка произойдет, когда Вы выполните mysqlaccess.