MySQL: установка, настройка, описание - Установка и настройка (MySQL 3.23.37 на Linux RedHat 6.2) из исходных текстов
ОГЛАВЛЕНИЕ
Страница 3 из 16
Установка и настройка (MySQL 3.23.37 на Linux RedHat 6.2) из исходных текстов
- иметь gcc лучше, чем 2.8.1 (egcc 1.0.2), рекомендуется 2.95.2
- создать директорию для сборки, распаковать в нее mysql-3.23.37.tar.gz
- для версии ранее 3.23.34 распаковать туда db-3.2.3h.tar.gz (это специальная версия bdb для MySQL)
- создать группу mysql
- создать пользователя mysql (в группе mysql) (зачем ему bash?)
- ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=путь --with-mysqld-user=mysql --disable-large-files --with-libwrap --without-debug --with-charset=cp1251 --with-extra-charsets=all --with-berkeley-db
- make (70MB/91MB)
- если upgrade, то остановить mysql, сохранить базы данных и my.cfg (не забыть потом удалить!)
- make install (как root)(16 MB, из них 5МБ - тест)
- /usr/local/mysql/include/mysql
- /usr/local/mysql/info
- /usr/local/mysql/man
- /usr/local/mysql/lib/mysql (libdbug, libheap, libmerge, libmyisam, libmyisammrg, libmysqlclient, libmystrings, libmysys, libnisam); эту директорию указывать для libtool, либо занести в /etc/ld.so.conf
- /usr/local/mysql/bin (comp_err, isamchk, isamlog, my_print_defaults, myisamchk, myisamlog, myisampack, mysql, mysqladmin, mysqlbinlog, mysqlshow, mysqldump, mysqlimport, mysqltest, pack_isam, perror, replace, resolve_stack_dump, resolveip, скрипты )
- /usr/local/mysql/share/mysql (сообщения об ошибках - koi8-r, таблицы кодировок - cp1251, koi8-r; mi_test_all; mi_test_all.res)
- /usr/local/mysql/libexec (mysqld)
- /usr/local/mysql/sql-bench
- /usr/local/mysql/mysql-test
- /usr/local/mysql/data (базы данных, конфигурация, журналы, pid-файл)
- при первой установке: scripts/mysql_install_db (как root - создание таблиц с правами доступа, дает все права пользователю root без пароля и позволяет делать все с базами test и test_*, кроме раздачи привилегий)
- chown -R root:mysql /usr/local/mysql (как root)
- chown -R mysql /usr/local/mysql/data (и отдельную директорию для mysql.sockets с правами чтения для всех; mysql не нужны права на запись для my.cnf)
- support-files/mysql.server в /etc/rc.d/init.d для автоматического запуска и дать ему права на исполнение и сделать линк K00mysql из rc0.d и rc6.d на него, S99mysql из rc2.d, rc3.d и rc5.d на него
- скопировать my-medium.cnf в /usr/local/mysql/data/my.cnf и слегка отредактировать [mysqld]
- socket=имя-файла под Unix-socket (и в раздел [client] тоже)
- skip-locking (не блокировать доступ к данным от ДРУГИХ процессов)
- log-bin #журнал изменений для репликации
- log-slow-queries
- log-update #журнал изменений
- #secure - говорит, что нет такой опции
- skip-networking #если не нужен доступ по TCP/IP (а еще лучше использовать ssh + port forward)
- safe-show-database
- skip-show-database
- server-id=1 # что это?
- куча set-variable из исходного файла
- set-variable = max_connections=500
- тестовый запуск: /usr/local/mysql/bin/safe_mysqld --user=mysql (как root)(или сразу /etc/rc.d/rc3.d/S99mysql start)
- /usr/local/mysql/bin/mysqladmin -u root -p password 'пароль' (при запросе пароля нажать Enter)
- /usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain -p password 'пароль' (надо ли?)
- установка интерфейса с Perl
- взять модули Data-Dumper, DBI и Msql-Mysql-modules
- каждый распаковать в отдельную директорию (Msql-Mysql-modules последним)
- зайти в нее
- perl Makefile.PL (опционально хочет RPC::PlServer, RPC::PlClient, Storable, Net::Daemon).
- make
- make test (mysqld должен работать)
- make install (как root)
- тестирование
- зайти в sql-bench
- ./run-all-tests --user=test (нужны права для записи в директорию output, час времени и 200 МБ на диске)(connect/disconnect временами грохает mysqld!)
- можно удалить sql-bench и mysql-test
- настроить права доступа (как минимум, убрать анонимный доступ)