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

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

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 840
  • Репутация: +41/-0
    • Просмотр профиля
    • Slackware
Обсуждение "Первый запуск MySQL"
« : 23 Март 2012, 13:14:59 »
Обсуждаем статью "Первый запуск MySQL"

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

  • Глобальный модератор
  • Ветеран
  • *
  • Сообщений: 543
  • Репутация: +47/-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

  • Глобальный модератор
  • Ветеран
  • *
  • Сообщений: 543
  • Репутация: +47/-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

  • Администратор
  • Ветеран
  • *
  • Сообщений: 840
  • Репутация: +41/-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

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

Оффлайн UnixNoob

  • Новичок
  • Сообщений: 41
  • Репутация: +1/-0
    • Просмотр профиля
Re: Обсуждение "Первый запуск MySQL"
« Ответ #8 : 16 Февраль 2021, 02:26:48 »
Что-то я прочитав эту статью и install_mysql_on_slackware в юзерах и паролях запутался.
По-умолчанию я даю права на базу данных пользователю mysql
root@darkstar# mysql_install_db --user=mysql
Но захожу я как пользователь root, c созданным, для пользователя root, паролем (или это root но как-бы для mysql, а не системный?)
root@darkstar# mysqladmin -u root password 'new-password-here'
user@darkstar$ mysql -u root -p
Мне требуется создать БД и дать ей права на выполнение с фреймворка, т.е указать имя пользователя БД и пароль.
Этот пользователь и пароль в целом имеет отношение к командам выше или он создается вот этой командой:
mysql> CREATE DATABASE имя_базы;
mysql> GRANT ALL PRIVILEGES ON имя_базы.* TO имя_пользователя@localhost IDENTIFIED BY 'пароль_пользователя';
Первый раз сталкиваюсь с MySQL.

Оффлайн UnixNoob

  • Новичок
  • Сообщений: 41
  • Репутация: +1/-0
    • Просмотр профиля
Re: Обсуждение "Первый запуск MySQL"
« Ответ #9 : 17 Февраль 2021, 01:40:59 »
Вроде как разобрался, заодно выяснил что в current mariaDB в которой чуть-чуть по-другому, в плане конфигов.

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 840
  • Репутация: +41/-0
    • Просмотр профиля
    • Slackware
Re: Обсуждение "Первый запуск MySQL"
« Ответ #10 : 17 Февраль 2021, 18:25:30 »
Вроде, как там достаточно поменять в скрипте и всё работает.
ТУТ обсуждали.
Как только current станет стабильной версией, статью поправлю.

Оффлайн UnixNoob

  • Новичок
  • Сообщений: 41
  • Репутация: +1/-0
    • Просмотр профиля
Re: Обсуждение "Первый запуск MySQL"
« Ответ #11 : 17 Февраль 2021, 21:00:14 »
Вроде, как там достаточно поменять в скрипте и всё работает.
Да я посмотрел install_mariadb_on_slackware, сравнил со статьей здесь и разобрался. Когда начал разбираться с  БД, сначала думал postgresql ставить, но потом оказалось что есть mysql  в системе. А в дальнейшем  выяснил что в current mariaDB.
« Последнее редактирование: 17 Февраль 2021, 21:08:13 от UnixNoob »