После установки MySQL (из бинарного дистрибутива или исходного кода) необходимо проинициализировать таблицы привилегий, запустить сервер и убедиться, что сервер работает нормально. Можно также организовать автоматический запуск и остановку сервера, когда операционная система соответственно начинает и прекращает работу.
Обычно при установке из исходного кода для установки таблиц привилегий и запуска сервера нужно выполнить следующие команды:
shell> ./scripts/mysql_install_db shell> cd mysql_installation_directory shell> ./bin/safe_mysqld --user=mysql &
Для бинарного дистрибутива (но не для пакетов RPM или pkg) сделайте так:
shell> cd mysql_installation_directory shell> ./scripts/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &
или
shell> ./bin/mysqld_safe --user=mysql &
Если вы используете MySQL 4.x.
Эти операции создают базу данных mysql , которая будет поддерживать все привилегии доступа к базе данных, базу данных test , которую можно использовать для тестирования MySQL, а также записи привилегий для пользователя, который запускает mysql_install_db и для пользователя root (без каких-либо паролей). При этом также запускается сервер mysqld .
mysql_install_db не перезаписывает старые таблицы привилегий, так что ее запуск будет безопасным в любом случае. Если вам не нужна база данных test , ее можно удалить с помощью mysqladmin -u root drop test .
Тестирование проще всего выполнить из каталога наивысшего уровня дистрибутива MySQL. Для бинарного дистрибутива таковым является ваш каталог инсталляции (обычно что-нибудь вроде "/usr/local/mysql"). Для дистрибутива в виде исходного кода это - главный каталог вашего набора исходных кодов MySQL.
В командах, представленных в настоящем разделе и последующих подразделах, BINDIR представляет собой путь к тому местоположению, где устанавливаются программы вроде mysqladmin и safe_mysqld . Для бинарного дистрибутива это каталог "bin" внутри дистрибутива. Для дистрибутива в виде исходного кода BINDIR может представлять собой `/usr/local/bin", если при запуске configure не указан иной, чем "/usr/local" инсталляционный каталог. EXECDIR - место, где устанавливается сервер mysqld . Для бинарного дистрибутива это то же самое, что и BINDIR . Для дистрибутива в виде исходного кода EXECDIR может представлять собой `/usr/local/libexec".
Подробное описание тестирования:
Если необходимо, запустите сервер mysqld и установите исходные таблицы привилегий MySQL, содержащие те привилегии, которые определяют, каким способом пользователям разрешено подключаться к серверу. Обычно это делается с помощью скрипта mysql_install_db :
shell> scripts/mysql_install_db
Как правило, mysql_install_db требует запуска только первый раз при установке MySQL. Таким образом, если производится модернизация существующей установки, то данный этап можно пропустить (однако скрипт mysql_install_db совершенно безопасен для использования и не обновляет никаких уже существующих таблицы; поэтому если у вас нет уверенности в том, как поступать, то всегда можно запустить mysql_install_db ). Скрипт mysql_install_db создает шесть таблиц (user , db , host , tables_priv , columns_priv , and func ) в базе данных mysql . Описание исходных привилегий дается в разделе See section 4.3.4 Задание изначальных привилегий MySQL. Если в двух словах, то эти привилегии позволяют пользователю root MySQL делать все, что угодно, и любому пользователю позволяют создавать или использовать базы данных с именем test или начинающимся с test_ . Если таблицы привилегий не установлены, то в системном журнале при запуске сервера появится следующая ошибка:
mysqld: Can"t find file: "host.frm"
Такая ошибка может появиться и в случае бинарного дистрибутива MySQL, если вы не начали работу MySQL с точного выполнения команды "./bin/safe_mysqld"! See section 4.7.2 safe_mysqld , оболочка mysqld . Возможно, вам потребуется запускать mysql_install_db как root . Однако при желании вы можете запускать сервер MySQL как непривилегированный (не-root ) пользователь, при условии, что этот пользователь может только читать файлы из каталога базы данных и записывать в него файлы. Инструкции по запуску MySQL в качестве непривилегированного пользователя даются в разделе See section A.3.2 Запуск MySQL от обычного пользователем. Если возникнут проблемы с mysql_install_db , обращайтесь к разделу See section 2.4.1 Проблемы при запуске mysql_install_db . Дистрибутив MySQL обеспечивает несколько вариантов запуска скрипта mysql_install_db :
Чтобы изменить исходные привилегии, которые устанавливаются в таблицах привилегий, вам, возможно, потребуется отредактировать mysql_install_db перед запуском. Это полезно, если нужно установить MySQL на нескольких машинах с одними и теми же привилегиями. В таком случае вам, возможно, потребуется только добавить несколько дополнительных команд INSERT к таблицам mysql.user и mysql.db !
Если необходимо изменить записи в таблицах привилегий после их установки, то можно запустить mysql_install_db , затем использовать mysql -u root mysql для доступа к таблицам привилегий как пользователь MySQL с привилегиями root и применять команды SQL для модификации таблиц привилегий напрямую.
Можно также создать таблицы привилегий полностью заново после того, как они были уже созданы. Это можно сделать после установки таблиц, а затем воссоздать после редактирования mysql_install_db .
Более подробная информация о приведенных выше альтернативах находится в разделе See section 4.3.4 Задание изначальных привилегий MySQL.
Запустите сервер MySQL как показано ниже:
shell> cd mysql_installation_directory shell> bin/safe_mysqld &
Если возникнут проблемы с запуском сервера, см. раздел Проблемы при запуске сервера MySQL.
Используйте mysqladmin для проверки, что сервер работает. Простую проверку того, что сервер функционирует и отвечает на подключения, обеспечивают следующие команды:
shell> BINDIR/mysqladmin version shell> BINDIR/mysqladmin variables
Вывод из mysqladmin version будет иметь небольшие различия в зависимости от используемой платформы и версии MySQL, но должен быть похож на приведенный ниже:
shell> BINDIR/mysqladmin version mysqladmin Ver 8.14 Distrib 3.23.32, for linux on i586 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license.
Server version 3.23.32-debug Protocol version 10 Connection Localhost via Unix socket TCP port 3306 UNIX socket /tmp/mysql.sock Uptime: 16 sec
Threads: 1 Questions: 9 Slow queries: 0 Opens: 7 Flush tables: 2 Open tables: 0 Queries per second avg: 0.000 Memory in use: 132K Max memory used: 16773K
Чтобы получить представление о том, что еще можно делать с помощью BINDIR/mysqladmin , запустите эту команду с опцией --help .
Убедитесь, что можете остановить сервер:
shell> BINDIR/mysqladmin -u root shutdown
Убедитесь, что можете перезапустить сервер. Делайте это, используя safe_mysqld или путем прямого вызова mysqld . Например:
shell> BINDIR/safe_mysqld --log &
Если safe_mysqld терпит неудачу, попытайтесь запустить команду из каталога установки MySQL (если вы уже не там). Если команда по-прежнему не работает, см. раздел See section2.4.2 Проблемы при запуске сервера MySQL.
Запустите несколько простых тестов, чтобы убедиться, что сервер работает. Вывод должен быть похож на приведенный ниже:
shell> BINDIR/mysqlshow +-----------+ | Databases | +-----------+ | mysql | +-----------+
shell> BINDIR/mysqlshow mysql Database: mysql +--------------+ | Tables | +--------------+ | columns_priv | | db | | func | | host | | tables_priv | | user | +--------------+
shell> BINDIR/mysql -e "SELECT host,db,user FROM db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+
В подкаталоге `sql-bench" каталога установки MySQL находится набор тестов производительности, который можно использовать для сравнения работы MySQL на различных платформах. Каталог "sql-bench/Results" содержит результаты большого количества запусков для различных баз данных и платформ. Чтобы запустить все тесты, выполните следующие команды:
shell> cd sql-bench shell> run-all-tests
Если у вас отсутствует каталог `sql-bench", то, вероятно, вы работаете с пакетом RPM для бинарного дистрибутива (в пакеты RPM с дистрибутивами исходного кода включается каталог тестов производительности). В этом случае прежде чем использовать набор тестов производительности, необходимо его установить. Начиная с версии MySQL 3.22, существуют RPM-файлы тестов производительности, "mysql-bench-VERSION-i386.rpm", которые содержат код тестов производительности и данные. Имея дистрибутив исходного кода, можно также запустить эти тесты в подкаталоге `tests". Например, чтобы запустить "auto_increment.tst", сделайте следующее:
shell> BINDIR/mysql -vvf test < ./tests/auto_increment.tst
Результаты будут выводиться в файл ./tests/auto_increment.res".
1 2 3 4
8 8 8
| |