Я хочу провести тестирование для MySQL, и мне нужно запустить новую базу данных MySQL от имени пользователя без полномочий root. Я использую Debian Linux и ожидаю, что можно запустить mysql_install_db
и другие команды как обычный пользователь с правильными параметрами и доступным для записи местоположением.
Это работает?
Как это сделать?
Я не хочу загружать программное обеспечение с веб-сайта MySQL. Вместо этого я хочу использовать исполняемые файлы, предоставленные уже установленными пакетами ОС. Аргументация такая:
Программное обеспечение уже установлено - установка нового программного обеспечения из сети бессмысленна, медленна, может привести к сбою, возможной угрозе безопасности и т.д. Насколько мне известно, KDE делает нечто подобное для своего хранилища данных.
Если это в конечном итоге сработает, я хочу обернуть тест в переносимый скрипт, который выполняется на любом компьютере, где есть
mysql_install_db
и т.д.
Я искал в Интернете учебники / подсказки, но нашел только массу описаний того, как установить программное обеспечение с нуля. С информацией из того, что я прочитал, я тогда попробовал это:
mkdir ~/tmp/mysql/
mkdir ~/tmp/mysql/mysql/
mkdir ~/tmp/mysql/sql_data/
mysql_install_db \
--defaults-file=my.cnf
--user=daniel
--basedir=/home/daniel/tmp/mysql/mysql/
--datadir=/home/daniel/tmp/mysql/sql_data/
--socket=/home/daniel/tmp/mysql/socket
Но это жалуется
FATAL ERROR: Could not find my_print_defaults
The following directories were searched:
/home/daniel/tmp/mysql/mysql//bin
/home/daniel/tmp/mysql/mysql//extra
ОБНОВЛЕНИЕ: я все еще не нашел решение ограничить вывод сообщениями об ошибках. Я получил много строк с тегом [Note]
но не нашел аргумента для установки уровня вывода отладки.