MySQL & mSQL

MySQL


Прежде чем начать установку MySQL, нужно ответить на пару вопросов.

  • Собираетесь ли вы устанавливать MySQL как пользователь root или какой-либо другой пользователь?

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

  • Будете ли вы устанавливать MySQL из исходного кода или откомпилированных модулей?

    Имеется много откомпилированных двоичных пакетов MySQL. Это экономит время, но уменьшает возможности настройки при установке. Для установки из исходного кода вам потребуется компилятор С и другие инструменты разработчика. Если они у вас имеются, то преимущества установки из исходного кода обычно перевешивают мелкие неудобства.

    Эти два вопроса взаимосвязаны. При установке из двоичного пакета вы должны быть зарегистрированы как root. Установка из двоичного пакета использует некоторые данные о путях, зашитые в двоичные файлы, что вынуждает вас регистрироваться при установке как тот, кто создал прекомпилирован-ный пакет. MySQL позволяет задать параметры командной строки, переопределяющие эти пути, но обычно меньше хлопот доставляет установка из исходного кода.

    В любом случае сначала необходимо получить дистрибутив.

    Таблица 3-1. Список серверов Интернета, с которых можно взять экземпляр исходного кода или двоичных файлов MySQL



    Азия

    Корея

    KREONet

    http://linux.kreonet.re.hr/mysql/

    Япония

    Soft Agency

    http://www.softagency.co.jp/MySQL/


    Nagoya Syouka University

    http://mirror.nucba.ac.jp/mirror/mysql/


    Nagoya Syouka University

    ftp://mirror.nucba.ac.jp/mirror/ mysql/


    HappySize

    http://www.happysize.co.jp/mysql/


    HappySize

    ftp://ftp.happysize.co.jp/pub/mysql/

    Сингапур

    HJC

    http://mysql.hjc.edu.sg/


    HJC

    ftp://ftp.hjc.edu.sg/mysql/

    Тайвань

    NCTU

    http://mysql.taconet.com.tw/


    TTN

    http://mysql.ttn.net

    Австралия

    Австралия

    AARNet/Queensland

    http://mirror.aarnet.edu.au/mysql/


    AARNet/Queensland

    ftp://mirror.aarnet.edu.au/pub/ mysql/


    Blue Planet/Melbourne

    http://mysql.bluep.com


    Blue Planet/Melbourne

    ftp://mysql.bluep.com/pub/mirrorl/ mysql/


    Tas

    http://ftp.tas.gov.au/mysql/


    Tas

    ftp://ftp.tas.gov.au/pub/mysql/

    Африка

    Южная Африка

    The Internet Solution/ Johannesburg

    ftp://ftp.is.co.za/linux/mysql/

    <


    Европа



    Австрия



    University of Technology/Vienna



    http://gd.tuwien.ac.at/db/mysql/







    University of Technology/Vienna



    ftp://gd.tuwien.ac.at/db/mysql/



    Болгария



    Naturella



    ftp://ftp.ntrl.net/pub/mirror/mysql/



    Дания



    Ake



    http://mysql.ake.dk







    SunSITE



    http://sunsite.auc.dk/mysql/







    SunSITE



    ftp://sunsite.auc.dk/pub/databases/ mysql/



    Эстония



    Tradenet



    http://mysql.tradenet.ee



    Финляндия



    EUnet



    http://mysql.eunet.fi



    Франция



    Minet



    http://www.minet.net/devel/mysql/



    Германия



    Bonn University, Bonn



    http://www.wipol.uni-bonn.de/ MySQL/







    Bonn University, Bonn



    http://www.wipol.uni-bonn.de/ MySQL/







    Wolfenbuettel



    http://www.fh-wolfenbuettel.de/ftp/ pub/database/ mysql/







    Wolfenbuettel



    ftp://ftp.fh-wolfenbuettel.de/pub/ database/ mysql/







    Staufen



    http://mysql.staufen.de



    Греция



    NTUA, Athens



    http://www.ntua.gr/mysql/







    NTUA, Athens



    ftp://ftp.ntua.gr/pub/databases/



    Венгрия



    Xenia



    http://xenia.sote.hu/ftp/mirrors/







    Xenia



    ftp://xenia.sote.hu/pub/mirrors/



    Израиль



    Netvision



    http://mysql.netvision.net.il



    Италия



    Teta Srl



    http://www.teta.it/mysql/



    Польша



    Sunsite



    http://sunsite.icm.edu.pl/mysql/







    Sunsite



    ftp://sunsite.icm.edu.pl/pub/unix/



    Португалия



    lerianet



    http://mysql.leirianet.pt







    lerianet



    ftp://ftp.leirianet.pt/pub/mysql/



    Россия



    DirectNet



    http://mysql.directnet.ru







    IZHCOM



    http://mysql.udm.net







    IZHCOM



    http://mysql.udm.net



    Румыния



    Bucharest



    http://www.lbi.ro/MySQL/







    Bucharest



    ftp://ftp.lbi.ro/mirrors/ftp.tcx.se







    Timisoara



    http://www.dnttm.ro/mysql/







    Timisoara



    ftp://ftp.dnttm.ro/pub/mysql



    Швеция



    Sunet



    http://ftp.sunet.se/pub/unix/ databases/ relational/ my sql/







    Sunet



    ftp://ftp.dnttm.ro/pub/mysql







    тcх



    http://www.tcx.se







    тcх



    ftp://www.tcx.se







    тcх



    http://www.mysql.com (Primary Site)







    тcх



    ftp://ftp.mysql.com (Primary Site)



    Англия



    Omnipotent/UK



    http://mysql.omnipotent.net







    Omnipotent/UK



    ftp://mysql.omnipotent.net







    PHG/UK



    http://ftp.plig.org/pub/mysql/







    PliG/UK



    ftp://ftp.plig.org/pub/mysql/



    Украина



    РАСО



    http://mysql.paco.net.ua







    РАСО



    ftp://mysql.paco.net.ua



    Северная Америка



    Канада



    Tryc



    http://web.tryc.on.ca/mysql/



    США



    Circle Net/North Carolina



    http://www.mysql.net







    DIGEX



    ftp://ftp.digex.net/pub/database/







    Gina net/Florida



    http://www.gina.net/mysql/







    Hurricane Electric/San Jose



    http://mysql.he.net







    Netcasting/West Coast



    ftp://ftp.netcasting.net/pub/mysql/







    Phoenix



    http://phoenix.acs.ttu.edu/mysql/







    pingzero/Los Angeles



    http://mysql.pingzero.net



    Южная Америка



    Чили



    Amerikanclaris



    http://www.labs.amerikanclaris.cl/







    vision



    http://mysql.vision.cl

    <


    Подключившись к серверу FTP, войдите в каталог Downloads. В нем будут перечислены несколько версий MySQL, например:

    MySQL-3.21

    MySQL-3.22

    MySQL-3.23

    Самый высокий номер версии соответствует нестабильному выпуску, в котором производится добавление и проверка новых характеристик. Отдельные подверсии его будут иметь пометки 'alpha', 'beta' или 'gamma'. Предыдущая версия является текущей стабильной версией. Эта версия тщательно проверена и считается свободной от ошибок. Доступны также более ранние архивные версии.

    Если разрабатываемая версия находится на этапе 'alpha', вам определенно следует придерживаться стабильной версии, если только вы не любитель острых ощущений. В случае когда разрабатываемая версия находится на стадии 'beta', возможно, следует выбрать предыдущую версию, если только в новой версии нет крайне необходимых для вас характеристик или устойчивость системы, на которой вы работаете, не очень критична. С другой стороны, версией 'gamma' можно уверенно пользоваться при отсутствии в ней известных конфликтов с вашей системой.

    Вы можете точно проверить, на какой стадии находится конкретная версия MySQL, перейдя в ее каталог. Например, каталог MySQL-3.22 может выглядеть следующим образом:

    mysql-3.22.19-beta-sgi-irix6,4-mip.tgz

    mysql-3.22.21a-beta-ibm-aix4.2.1.0-rs6000.tgz

    mysql-3.22.31-pc-linux-gnu-i586.tgz

    mysql-3.22.33-sun-solaris2.6-sparc.tgz

    mysql-3.22.33.tar.gz

    Файлы, имена которых включают названия машин и операционных систем, являются двоичными версиями для этих систем. Если название машины не указано, как в последней строке, то это исходный код. Если к файлу не присоединена метка 'alpha', 'beta' или 'gamma' - это стабильная версия. Что касается двух последних файлов списка, то первый - откомпилированная версия для Sun Solaris на машине Spare, а последний - исходный код. Прочие, более старые версии существуют, поскольку у команды разработчиков не всегда есть время и возможность откомпилировать каждую подверсию MySQL на каждой существующей операционной системе и аппаратной конфигурации. В действительности, большая часть прекомпилированных версий предоставлена обычными пользователями, которым удалось успешно откомпилировать последнюю версию на своей системе.



    Зная это, вы можете теперь выбрать версию MySQL, которую хотите использовать, и загрузить исходный код, если собираетесь компилировать MySQL, или двоичный дистрибутив для вашей машины, если он существует. Когда отсутствует двоичный дистрибутив, точно соответствующий вашей конфигурации, проверьте, нет ли его для слегка отличной конфигурации. Например, mysql-3.22.32a-ibm-aix4.2.1.0-powerpc.tgz может работать также на версии AIX 4.1.4 на том же типе машин. Если вы не можете таким образом подобрать работающую версию, попробуйте поискать в более старых версиях MySQL. Если и это не удастся, придется компилировать исходный код. В случае успешной компиляции и запуска MySQL можно предоставить откомпилированные двоичные файлы команде разработчиков MySQL для включения в архив.

    Установка из исходного кода

    Загрузив дистрибутив с исходным кодом, распакуйте архив с помощью команды:

    gunzip - с mysql-x.xx.xx.tar.gz | tar xvf -

    где mysql-x. xx. xx . tar. gz - имя загруженного вами файла. В результате в рабочем каталоге будет создан каталог mysql-x. xx. xx. Перейдите в него. Запустите сценарий configure в рабочем каталоге. Вызовите его как . /configure, чтобы случайно не запустить программу с тем же именем, находящуюся где-либо в другом месте. Во многих случаях установка прекрасно проходит без задания каких-либо параметров, но при возникновении трудностей можно использовать многочисленные параметры, информацию о которых можно вывести на экран, задав ключ -help. Вот наиболее употребительные:

    --without-server

    В результате компилируются все имеющиеся клиенты MySQL, но не сервер.

    -prefix

    Устанавливается каталог инсталляции, отличный от каталога по умолчанию (/usr/ local/ ).

    -with-low-memory

    Эта опция запрещает компилятору использовать некоторые виды оптимизации, требующие много памяти при компиляции. С ее помощью устраняется большинство ошибок, связанных с нехваткой памяти при компиляции.

    -localstatedir

    Используется для назначения каталога для файлов базы данных, отличающегося от принятого по умолчанию (/usr/local/var).



    -with-charset

    Используется для выбора набора символов, отличного от принятого по умолчанию (lati.nl). На момент написания книги доступны наборы символов big5, danish, cp1251, cp1257, croat, czech, dec8, dos,

    euc_kr, germanl, Hebrew, hp8, hungarian, koi8_ru, koi8_ukr, latin1, Iatin2, swe7, usa7, win1251, win1251u, kr, ujis, sjis, tis620.

    После завершения выполнения сценария configure запустите make в рабочем каталоге. В результате будет произведена полная компиляция.

    По завершении компиляции команда make install установит все в нужное место.

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

    ./scripts/mysql_install_db

    При этом запустится также демон сервера. Чтобы убедиться в том, что он работает, перейдите в инсталляционный каталог (по умолчанию / usr/local/) и введите команду:

    ./bin/mysqladmin version

    На экран будет выведено что-то, близкое к следующему:

    mysqladmin Ver 7.11 Distrib 3.22.23b, for linux on 1586

    TCX Datakonsult AB, by Monty

    Server version 3.22.23b-debug

    Protocol version 10

    Connection Localhost via UNIX socket

    UNIX socket /tmp/mysql.sock

    Uptime: 6 sec

    Threads: 1 Questions: 1 Slow queries: 0 Opens: 6 Flush tables: 1 Open

    tables: 2 Memory in use: 1093K Max memory used: 1093K

    Итак, последовательность шагов установки такова:

    gzip - с mysql-x.xx. xx. tar. gz | tar xvf -

    cd mysql-x.xx.xx

    ./configure

    make

    make install

    ./scripts/mysql_install_db

    ./bin/mysqladmin version

    Установка двоичного дистрибутива

    Загрузив двоичный дистрибутив, вы должны выбрать каталог для установки файлов MySQL. Чаще всего выбирается /usr/local/mysql, но это в значительной мере зависит от потребностей ваших пользователей, и имеющихся у вас прав доступа.

    Перейдите в каталог на уровень выше, чем тот, в котором вы хотите разместить дистрибутив MySQL. Например, если вы хотите использовать /usr/local/mysql, перейдите в /usr/local. Для распаковки дистрибутива выполните команду:



    gunzip - с /tmp/mysql-x.xx.xx-fflymac/line. tgz | tar xvf -

    Здесь /tmp - имя каталога, в который вы загрузили дистрибутив MySQL, a mysql-x.xx.xx-mymachine.tgz - имя загруженного файла.

    В результате в текущем каталоге будет создан каталог mysql-x.xx.xx mysql. Если вы хотите, чтобы файлы были просто в каталоге mysql, создайте связь:

    In - s mysql-x.xx.xx mysql

    Теперь проверьте, содержит ли двоичный пакет таблицы назначения прав доступа. Перейдите в каталог mysql/mysql. Если он не существует или пуст, вам придется создать таблицы самому. Вернитесь назад, на один уровень, в главный каталог установки mysql и выполните команду:

    scripts/mysql_install_db

    Эту команду нужно выполнить только один раз. Для запуска демона MySQL введите:

    bin/safe_mysqld --log &

    Чтобы убедиться, что демон правильно работает, введите:

    bin/mysqladmin version

    Ответ должен быть примерно таким:

    Mysqladmin Ver 6.3 Distrib 3.21.33, for sun-solaris2.6 on spare

    TCX Datakonsult AB, by Monty

    Server version 3.21.17-alpha

    Protocol version 10

    Connection Localhost via UNIX socket

    TCP Port 3333

    UNIX socket /tmp/mysql.sock

    Uptime: 13 sec

    Running threads: 1 Questions: 20 Reloads: 2 Open Tables: 3




    Содержание раздела