|
#!/bin/sh - не получается создать пользователя MySQL | ☑ | ||
---|---|---|---|---|
0
vde69
05.08.22
✎
23:01
|
#!/bin/sh
MYSQLLOGIN="major_user" MYSQLPASSWORD=`echo -e time | md5sum | sed 's/[^[:alnum:]]\+//g'` # set SQL user and password killall mysqld sleep 2 # запускаемся без пароля ${PHPMYSQLPATH}/mysql/bin/mysqld_safe --skip-grant-tables --user=root --bind-address=127.0.0.1 & echo "GRANT ALL PRIVILEGES ON db_terminal.* TO '${MYSQLLOGIN}'@'localhost' IDENTIFIED BY '${MYSQLPASSWORD}' WITH GRANT OPTION; FLUSH PRIVILEGES;" | ${PHPMYSQLPATH}/mysql/bin/mysql -u root # сброс процессов sleep 1 killall mysqld_safe killall mysqld sleep 2 # Запуск службы MySQL cd ${PHPMYSQLPATH}/mysql nice -n 20 ${PHPMYSQLPATH}/mysql/bin/mysqld_safe --user=mysql --bind-address=127.0.0.1 & скрипт вроде нормально выполняется, но пользователь не создается, из консоли запускаю GRANT - все нормально отрабатывает. Суть в том, что мне нужно без ввода пароля создать юзера, скрипт выполняется под root может дело в --skip-grant-tables он просто не дает создать нового юзера? |
|||
1
Asmody
05.08.22
✎
23:25
|
(0) skip-grant-tables не загружает таблицы привилегий.
FLUSH PRIVILEGES; в начало sql-скрипта попробуй добавить |
|||
2
Garykom
гуру
05.08.22
✎
23:27
|
а CREATE USER то где?
|
|||
3
vde69
05.08.22
✎
23:34
|
(1) уже попробовал, не помогает
|
|||
4
vde69
05.08.22
✎
23:36
|
победил, основной затык в отсутствие паузу
${PHPMYSQLPATH}/mysql/bin/mysqld_safe --skip-grant-tables --user=root --bind-address=127.0.0.1 & sleep 2 echo "FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON db_terminal.* TO '${MYSQLLOGIN}'@'localhost' IDENTIFIED BY '${MYSQLPASSWORD}' WITH GRANT OPTION; " | ${PHPMYSQLPATH}/mysql/bin/mysql -u root |
|||
5
vde69
05.08.22
✎
23:55
|
не совсем победил, но на верном пути, надо подобрать тайминг и сделать проверку ошибок
|
|||
6
vde69
06.08.22
✎
00:00
|
короче когда я запускаю весь скрипт целиком из консоли - юзер создается
когда этот скрипт запускается другим скриптом - нифига... в логе вроде все хорошо, mysql работает |
|||
7
Asmody
06.08.22
✎
00:52
|
(6) "скрипт запускается другим скриптом" - под каким пользователем?
|
|||
8
vde69
06.08.22
✎
07:53
|
подсмотрел в другом пакете, оказывается у них есть предустановленный пользователь с паролем 1234, как говорится дверь на замке но стены и нету :) причем если поменять пароль этого юзера, то его все равно сбросят при инстале другие пакеты. короче жесть, единственное он смотрит только на 127.0.0.1 (на улицу вроде нет), но все равно это явная дыра :)
тем не менее я решил сделать "как все" # set SQL user and password ${PHPMYSQLPATH}/mysql/bin/mysql -u zyadmin --password=1234 -e "grant ALL PRIVILEGES on db_terminal.* to ${MYSQLLOGIN}@localhost identified by '${MYSQLPASSWORD}'" > /dev/null 2>&1 if [ $? -ne 0 ] ; then # if fail, reset zyadmin ${PHPMYSQLPATH}/mysql/bin/reset_zyadmin ${PHPMYSQLPATH}/mysql/bin/mysql -u zyadmin --password=1234 -e "grant ALL PRIVILEGES on db_terminal.* to ${MYSQLLOGIN}@localhost identified by '${MYSQLPASSWORD}'" > /dev/null 2>&1 fi |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |