Автор Тема: Обсуждение "Первый запуск MySQL"  (Прочитано 4870 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 656
  • Репутация: +26/-0
    • Просмотр профиля
    • SlackWare
Обсуждение "Первый запуск MySQL"
« : 23 Март 2012, 13:14:59 »
Обсуждаем статью "Первый запуск MySQL"
С кем поведёшься - так тебе и надо!
===== http://slackware.su =====

FeyFre

  • Гость
Re: Обсуждение "Первый запуск MySQL"
« Ответ #1 : 26 Март 2012, 14:43:37 »
А сами по этой инструкции что-то делали?
Цитировать (выделенное)
# mkdir /var/lib/mysql/mysql
Зачем такую вложенность делать? /var/lib/mysql итак существует, зачем глуюбже.
Цитировать (выделенное)
# mysql_install_db
И где по-вашему проинициализируется база? Правильно, в текущем рабочем каталоге. А какой текущий рабочий каталог? Правильно, скорее всего домашняя папка пользователя которые это всё делает(dtlm ведь нигде комманд по переходу в какой-то там каталог небыло). В данном случае это root. В итоге база у Вас проинициализированна где-нибудь, но только не в var/lib/mysql/mysql.
Цитировать (выделенное)
# chown -R mysql.mysql /var/lib/mysql/mysql
А это уже форменное ламмерство.  Тяжело сделать так  mysql_install_db --user=mysql ?
Далее:
Цитировать (выделенное)
# /usr/bin/mysqld_safe &
Оно Вас пошлет куда подальше, ибо кто вместо Вас будет указывать новое местоположения БД? Оно будет искать в стандартном месте /var/lib/mysql
ну а все остальныйе действия автоматически будут фейлится по причине отсутствия запущеной базы.

Graf

  • Гость
Re: Обсуждение "Первый запуск MySQL"
« Ответ #2 : 26 Март 2012, 15:38:22 »
А сами по этой инструкции что-то делали?
ты не поверишь! :)
абсолютно все и не один раз.

Цитировать (выделенное)
# mkdir /var/lib/mysql/mysqlЗачем такую вложенность делать? /var/lib/mysql итак существует, зачем глуюбже.
# mysql_install_db И где по-вашему проинициализируется база? Правильно, в текущем рабочем каталоге. А какой текущий рабочий каталог? Правильно, скорее всего домашняя папка пользователя которые это всё делает(dtlm ведь нигде комманд по переходу в какой-то там каталог небыло). В данном случае это root. В итоге база у Вас проинициализированна где-нибудь, но только не в var/lib/mysql/mysql.
Спешу с тобой не согласиться :)
Если не создавать каталог  /var/lib/mysql/mysql, то сам mysql_install_db его создаст (проверил только-что на чистой машине находясь в каталоге ./~ ).
Создание каталога было добавлено из-за того, что у кого-то на форуме slackware.ru он не создался, т.е. просто для перестраховки.

Цитировать (выделенное)
# chown -R mysql.mysql /var/lib/mysql/mysql А это уже форменное ламмерство.  Тяжело сделать так  mysql_install_db --user=mysql ?
Хм..., вот тут готов поправить, но сначала проверю...

Цитировать (выделенное)
Далее:
Цитировать (выделенное)
# /usr/bin/mysqld_safe &
Оно Вас пошлет куда подальше, ибо кто вместо Вас будет указывать новое местоположения БД? Оно будет искать в стандартном месте /var/lib/mysql
ну а все остальныйе действия автоматически будут фейлится по причине отсутствия запущеной базы.
неа :)
все работает, еще раз проверил!
SlackWare 12.0, MySQL -5.0.51

Может зависит от версии пакета или слаки?
Напиши, я поправлю.... и спасибо :)

Оффлайн bormant

  • Глобальный модератор
  • Старожил
  • *
  • Сообщений: 466
  • Репутация: +43/-0
    • Просмотр профиля
Re: Обсуждение "Первый запуск MySQL"
« Ответ #3 : 26 Март 2012, 15:54:14 »
В качестве дополнения: никогда не лишне знать мнение создателя дистрибутива. Смотрим /etc/rc.d/rc.mysqld:
Цитировать (выделенное)
# To start MySQL automatically at boot, be sure this script is executable:
# chmod 755 /etc/rc.d/rc.mysqld

# Before you can run MySQL, you must have a database.  To install an initial
# database, do this as root:
#
#   mysql_install_db --user=mysql
#
# Note that the mysql user must exist in /etc/passwd, and the created files
# will be owned by this dedicated user.  This is important, or else mysql
# (which runs as user "mysql") will not be able to write to the database
# later (this can be fixed with 'chown -R mysql.mysql /var/lib/mysql').
#
# To increase system security, consider using "mysql_secure_installation"
# as well.  For more information on this tool, please read:
#   man mysql_secure_installation

И ещё необязательный шаг: в составе пакета mysql поставляются примерные файлы конфигурации /etc/my-{huge,large,medium,small}.cnf, ориентированные на то или иное использование:
Цитировать (выделенное)
# Example MySQL config file for very large systems.
#
# This is for a large system with memory of 1G-2G where the system runs mainly MySQL.

# Example MySQL config file for large systems.
#
# This is for a large system with memory = 512M where the system runs mainly MySQL.

# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays an important part, or systems up to 128M where MySQL is used together with other programs (such as a web server)

# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used from time to time and it's important that the mysqld daemon doesn't use much resources.
Рекомендуется наиболее подходящий из них скопировать в /etc/my.cnf и использовать для настройки поведения сервера MySQL.
« Последнее редактирование: 26 Март 2012, 16:06:46 от bormant »

Оффлайн bormant

  • Глобальный модератор
  • Старожил
  • *
  • Сообщений: 466
  • Репутация: +43/-0
    • Просмотр профиля
Re: Обсуждение "Первый запуск MySQL"
« Ответ #4 : 26 Март 2012, 16:15:45 »
И где по-вашему проинициализируется база? Правильно, в текущем рабочем каталоге.
Ну-ну...
Цитата: /usr/bin/mysql_install_db
...
ldata="/var/lib/mysql"
...
# Configure mysqld command line
mysqld_bootstrap="${MYSQLD_BOOTSTRAP-$mysqld}"
mysqld_install_cmd_line="$mysqld_bootstrap $defaults $mysqld_opt --bootstrap \
  --basedir=$basedir --datadir=$ldata --log-warnings=0 --loose-skip-innodb \
  --loose-skip-ndbcluster $args --max_allowed_packet=8M \
  --default-storage-engine=myisam \
  --net_buffer_length=16K"

# Create the system and help tables by passing them to "mysqld --bootstrap"
s_echo "Installing MySQL system tables..."
if { echo "use mysql;"; cat $create_system_tables $fill_system_tables; } | eval "$filter_cmd_line" | $mysqld_install_cmd_line > /dev/null
...
Продолжите настаивать на текущем каталоге?

ps. Правильный ответ: в каталоге, заданном параметром --datadir=path или --ldata=path, а при их отсутствии -- в каталоге /var/lib/mysql.
« Последнее редактирование: 26 Март 2012, 16:23:28 от bormant »

Graf

  • Гость
Re: Обсуждение "Первый запуск MySQL"
« Ответ #5 : 26 Март 2012, 18:13:46 »
Да, по поводу создания вложенного каталога:
Цитата: /usr/bin/mysql_install_db
# Create database directories mysql & test
for dir in $ldata $ldata/mysql $ldata/test
do
  if test ! -d $dir
  then
    mkdir -p $dir
    chmod 700 $dir
  fi
  if test -w / -a ! -z "$user"
  then
    chown $user $dir
  fi
done

И исправляю :
# chown -R mysql.mysql /var/lib/mysql/mysql

на:
# chown -R mysql.mysql /var/lib/mysql

Cr3w

  • Гость
Re: Обсуждение "Первый запуск MySQL"
« Ответ #6 : 19 Апрель 2012, 14:05:26 »
Вся статья сводится к трем командам:
mysql_install_db --user=mysql
/etc/rc.d/rc.mysql start
mysql_secure_installation

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 656
  • Репутация: +26/-0
    • Просмотр профиля
    • SlackWare
Re: Обсуждение "Первый запуск MySQL"
« Ответ #7 : 19 Апрель 2012, 20:09:37 »
Вся статья сводится к трем командам:
mysql_install_db --user=mysql
/etc/rc.d/rc.mysql start
mysql_secure_installation

тогда уж так
# mysql_install_db --user=mysql
# chmod 755 /etc/rc.d/rc.mysqld
# /etc/rc.d/rc.mysql start
# mysql_secure_installation

С учетом того, что читать будут и только-только начинающие работать с мускулом, объяснить элементарные вещи про ошибки во время подключения по сети и входа в мускул, думаю, все же стоит.
А с объяснениями, "что",  "для чего" и "как",  места на страничке займет не меньше :)
Хотя как второй вариант, думаю, вписать можно!
С кем поведёшься - так тебе и надо!
===== http://slackware.su =====

 

Copyright (c) Aiwan. Kolobok Smiles

@Mail.ru