2

Я хочу установить MySQL на CentOS.

У меня нет учетной записи root на этой машине.

Как я могу установить MySQL на CentOS как пользователь, т.е. не будучи рутом?

4 ответа4

5

УСТАНОВКА MYSQL НА CENTOS БЕЗ УЧЕТНОЙ ЗАПИСИ:

  1. Загрузить MySQL Community Server 5.5.8 Linux - универсальный сжатый архив TAR-- [Обратите внимание, что это не исходный / двоичный файл, а универсальный Linux (не RPM-пакет)]
  2. Распакуйте его. Например, чтобы: /home/martin/mysql
  3. Создайте файл my.cnf в вашем домашнем каталоге. Содержимое файла должно быть:

    [server]
    user=martin
    basedir=/home/martin/mysql
    datadir=/home/martin/sql_data
    socket=/home/martin/socket
    port=3666
    
  4. Перейдите в каталог /home/martin/mysql и выполните:

    ./scripts/mysql_install_db --defaults-file=~/my.cnf --user=martin --basedir=/home/martin/mysql --datadir=/home/martin/sql_data --socket=/home/martin/socket
    

    Обратите внимание, что --defaults-file ДОЛЖЕН быть первым параметром, иначе он не будет работать! Это ошибка MySQL.

  5. Ваш сервер MySQL готов. Запустите его с помощью этой команды:

    ./bin/mysqld_safe --defaults-file=~/my.cnf &
    

    Подключение к серверу:

    mysql -h 127.0.0.1 -P 3666 -u root -p (using tcp)
    

    или же

    mysql --socket=/home/martin/socket -u root -p (using unix socket)
    

    Завершение работы сервера:

    mysqladmin -h 127.0.0.1 -P 3666 -u root shutdown(using tcp)
    

    или же

    mysqladmin --socket=/home/martin/socket -u root shutdown (using unix socket)
    
1

Для пакетов RPM (а CentOS - это, конечно, система RPM) вам необходимо быть пользователем root для запуска установщика rpm. Установщик RPM должен записывать в некоторые базы данных, отслеживающие пакеты, и вы должны быть суперпользователем для записи в них. Хорошо, ну, mysql позволяет вам устанавливать из tarball, верно? (http://dev.mysql.com/doc/refman/5.0/en/binary-installation.html). Ну, да, но есть пост-инсталляция, которую вам нужно запустить, для которой вам нужно быть пользователем root.

В RPM могут быть шаги до и после установки, кроме простого выгрузки файлов. это могут быть изменения файлов конфигурации, добавление / удаление пользователей. В общем, для этого вам может потребоваться быть пользователем root. Даже без сценариев вы обычно устанавливаете в каталоги, в которые может установить только root.

В другом комментарии вы упомянули другие пакеты, которые вы установили, и вам не нужно быть пользователем root. Для этих пакетов я уверен, что:

  • Вы установили из архива, а не RPM.
  • Вы установили в несистемный каталог
  • Код не был привязан к какому-либо конкретному каталогу (некоторый код компилируется для определенных путей)
  • Не было необходимости в постинсталляции (нет конфигурации системы в /etc , нет новых пользователей, таких как MySQL)
0

Вы можете собрать его и запустить из своего домашнего каталога, если у вас есть доступный компилятор, но для установки программного обеспечения на Linux вам потребуется доступ с правами root.

0

Ответ Мартина сработал для меня. Чтобы ответить на комментарии (я не могу комментировать из-за разрешений здесь):

Чтобы подключиться к серверу, вам нужно либо добавить каталог /home /martin /mysql /bin (в этом примере /home /martin /mysql /bin), либо использовать полный путь для его запуска:

/home/martin/mysql/bin/mysql --socket=/home/martin/socket -u root -p

Другим недостающим элементом была установка пароля root. После выполнения шага bin/mysqld_safe (см. Шаг 5 в ответе Мартина) MySql рассказал мне, как установить пароль root. Вы должны сделать этот шаг, но добавив опцию --socket =/home/martin/socket в командную строку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .