Spec-Zone .ru
спецификации, руководства, описания, API
|
После установки MySQL на Unix следует инициализировать таблицы предоставления, запустить сервер, и удостовериться, что сервер работает удовлетворительно. Можно также хотеть принять меры, чтобы сервер был запущен и остановлен автоматически, когда Ваша система запускается и останавливается. Следует также присвоить пароли учетным записям в таблицах предоставления.
На Unix таблицы предоставления устанавливаются mysql_install_db программой. Для некоторых методов установки эта программа выполняется для Вас автоматически, если существующая база данных не может быть найдена.
Если Вы устанавливаете MySQL на Linux, используя дистрибутивы ОБ/МИН, ОБ/МИН сервера выполняет mysql_install_db.
Используя собственную систему упаковки на многих платформах, включая Linux Debian, Ubuntu Linux, хинду Linux и другие, mysql_install_db команда выполняется для Вас.
Если Вы устанавливаете MySQL на Mac OS X, используя распределение DMG, установщик выполняет 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 Используя Универсальные Двоичные файлы".
Расположение изменения в высокоуровневый каталог Вашей установки 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
база данных, содержащая таблицы
предоставления, которые хранят права доступа сервера.
В случае необходимости гарантируйте, что содержание распределения доступно для
mysql
. Если Вы устанавливали распределение как mysql
, никакое дальнейшее действие не требуется. Если Вы устанавливали
распределение как root
, его содержание будет принадлежать root
. Измените его владение на mysql
выполняя следующие команды как root
в каталоге установки. Первая команда
изменяет атрибут владельца файлов к mysql
пользователь. Вторые изменения
атрибут группы к mysql
группа.
shell>chown -R mysql .
shell>chgrp -R mysql .
В случае необходимости выполните 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" .
Большая часть установки MySQL может принадлежать root
если Вам нравится. Исключение - то, что каталог данных должен принадлежать mysql
. Чтобы выполнить это, выполните следующие команды как root
в каталоге установки:
shell>chown -R root .
shell>chown -R mysql data
Если сменный каталог (каталог, названный plugin_dir
системная переменная), перезаписываемо сервером, для
пользователя может быть возможно записать исполняемый код в файл в использовании каталога SELECT ... INTO DUMPFILE
. Это может быть предотвращено, делая plugin_dir
только для чтения к серверу или устанавливая --secure-file-priv
к каталогу, где SELECT
записи могут быть сделаны безопасно.
Если Вы устанавливали 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 Автоматически".
Запустите сервер 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".
Используйте mysqladmin, чтобы проверить, что сервер работает. Следующие команды обеспечивают простые тесты, чтобы проверить, произошел ли сервер и отвечающие соединения:
shell>bin/mysqladmin version
shell>bin/mysqladmin variables
Вывод от mysqladmin версии изменяется немного в зависимости от Вашей платформы и версии MySQL, но должен быть подобным показанному здесь:
shell> bin/mysqladmin
version
mysqladmin Ver 14.12 Distrib 5.6.13, for pc-linux-gnu on i686...Server version 5.6.13Protocol 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
опция.
Проверьте, что можно завершить работу сервера:
shell> bin/mysqladmin -u root
shutdown
Проверьте, что можно запустить сервер снова. Сделайте это при использовании mysqld_safe или вызывая mysqld непосредственно. Например:
shell> bin/mysqld_safe --user=mysql
&
Если mysqld_safe перестал работать, см. Раздел 2.10.1.3, "Запускаясь и Диагностируя MySQL Server".
Выполните некоторые простые тесты, чтобы проверить, что можно получить информацию от сервера. Вывод должен быть подобным тому, что показывают здесь:
shell>bin/mysqlshow
+--------------------+| Databases |+--------------------+| information_schema || mysql || test |+--------------------+shell>bin/mysqlshow mysql
Database: 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_% | |+------+--------+------+
Есть комплект сравнительного теста в sql-bench
каталог (в соответствии с каталогом установки MySQL), что можно использовать, чтобы сравниться, как
MySQL выполняет на различных платформах. Комплект сравнительного теста пишется в Perl. Это требует Perl
модуля DBI, который обеспечивает независимый от базы данных интерфейс для различных баз данных, и
некоторые другие дополнительные модули Perl:
DBIDBD::mysqlData::DumperData::ShowTable
Эти модули могут быть получены из CPAN (
sql-bench/Results
каталог содержит следствия многих выполнений против
различных баз данных и платформ. Чтобы выполнить все тесты, выполните эти команды:
shell>cd sql-bench
shell>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
файл.
В этой точке у Вас должно быть выполнение сервера. Однако, ни у одной из начальных учетных записей MySQL нет пароля, и сервер разрешает разрешающему доступу тестировать базы данных. Чтобы сжать безопасность, следуйте инструкциям в Разделе 2.10.2, "Защищая Учетные записи MySQL Initial".
Процесс установки MySQL 5.6 составляет таблицы часового пояса в 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.