Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: mysql - права доступа  (Прочитано 7360 раз)

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

Оффлайн sd--Anti

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
mysql - права доступа
« : 31 Января 2011, 14:11:11 »
Доброго времени суток!
Столкнулся тут с одной проблемой.
У пользователя root не хватает прав доступа к базам...
При запуске sql в обычном режиме - все базы данных для пользователя root, не видны.
При запуске с параметром "игнорирования привилегий пользователя" (mysqld --skip-grant-tables) все таблицы и базы видны, но создать или изменить что-либо я не могу... соответственно назначить права доступа - тоже

root@nixDDMF:~# mysql -u root
mysql> GRANT ALL ON *.* TO 'root'@'localhost';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
А если sql запущен в обычном режиме - ругается на права.
Спасибо!
P.S. искал долго, нужного ответа не нашел..


Оффлайн vasilisc

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2563
  • г.Северодвинск - строим АПЛ
    • Просмотр профиля
    • Авторские статьи об OpenSource
Re: mysql - права доступа
« Ответ #1 : 31 Января 2011, 14:15:00 »
а вы не путайте root в системе и root в MySQL - это разные учетные записи.
кто и когда лишил root mysql прав? погуглите как вернуть всё как было.
http://www.mysql.ru/docs/man/Default_privileges.html

Оффлайн sd--Anti

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: mysql - права доступа
« Ответ #2 : 31 Января 2011, 14:24:47 »
а вы не путайте root в системе и root в MySQL - это разные учетные записи.
кто и когда лишил root mysql прав? погуглите как вернуть всё как было.
http://www.mysql.ru/docs/man/Default_privileges.html
Я просмотрел логи, была попытка изменить владельца "chown -R root /"


Оффлайн vasilisc

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2563
  • г.Северодвинск - строим АПЛ
    • Просмотр профиля
    • Авторские статьи об OpenSource
Re: mysql - права доступа
« Ответ #3 : 31 Января 2011, 14:33:05 »
а вы не путайте root в системе и root в MySQL - это разные учетные записи.
кто и когда лишил root mysql прав? погуглите как вернуть всё как было.
http://www.mysql.ru/docs/man/Default_privileges.html
Я просмотрел логи, была попытка изменить владельца "chown -R root /"
Очень плохая идея пройтись от корня до низа и сменить всем владельца на рута.
/var если не отдельный раздел, а часть корня, то он мог пострадать от этого, ведь там и хранятся по умолчанию базы данных MySQL и они не принадлежат руту.
drwx------ 9 mysql     mysql      4096 2011-01-31 03:02 mysql/
я думаю запахнет жареным и придётся переустанавливать сервер или ставить в виртуалке копию и смотреть там владельцев и их восстанавливать на сервере

Оффлайн sd--Anti

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: mysql - права доступа
« Ответ #4 : 31 Января 2011, 15:06:49 »
а вы не путайте root в системе и root в MySQL - это разные учетные записи.
кто и когда лишил root mysql прав? погуглите как вернуть всё как было.
http://www.mysql.ru/docs/man/Default_privileges.html
Я просмотрел логи, была попытка изменить владельца "chown -R root /"
Очень плохая идея пройтись от корня до низа и сменить всем владельца на рута.
/var если не отдельный раздел, а часть корня, то он мог пострадать от этого, ведь там и хранятся по умолчанию базы данных MySQL и они не принадлежат руту.
drwx------ 9 mysql     mysql      4096 2011-01-31 03:02 mysql/
я думаю запахнет жареным и придётся переустанавливать сервер или ставить в виртуалке копию и смотреть там владельцев и их восстанавливать на сервере
Как я понимаю переустановка заключается в "сшибании" libhtml-template-perl libpam-mysql mysql-client mysql-server mysql-server-5.1 mysql-server-core-5.1
удалении файлов конфы /etc/mysql
и переноса баз данных /var/lib/mysql
Потом установка sql, создание баз, и просмотр прав доступа на них....
я все правильно понял?

Оффлайн vasilisc

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2563
  • г.Северодвинск - строим АПЛ
    • Просмотр профиля
    • Авторские статьи об OpenSource
Re: mysql - права доступа
« Ответ #5 : 31 Января 2011, 15:17:27 »
у меня базы mysql на другом винте, попробуйте поискать их (я забыл путь  вроде /var/db/)
sudo updatedb && locate -i mysql | grep varостановите mysql
stop mysql && /etc/init.d/mysql stop
и верните владельца каталогу баз данных
sudo chown mysql:mysql /var/db/mysql (или где там лежат базы, вы пишете о /var/lib/mysql
start mysql

я бы попробовал сначала так отделаться или сделайте бакап баз и переустановите mysql
правда владельца сменили не только мускулю и где еще аукнется ошибка - бог его знает.
« Последнее редактирование: 31 Января 2011, 15:20:34 от vasilisc »

Оффлайн sd--Anti

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: mysql - права доступа
« Ответ #6 : 31 Января 2011, 15:27:06 »
у меня базы mysql на другом винте, попробуйте поискать их (я забыл путь  вроде /var/db/)
sudo updatedb && locate -i mysql | grep varостановите mysql
stop mysql && /etc/init.d/mysql stop
и верните владельца каталогу баз данных
sudo chown mysql:mysql /var/db/mysql (или где там лежат базы, вы пишете о /var/lib/mysql
start mysql

я бы попробовал сначала так отделаться или сделайте бакап баз и переустановите mysql
правда владельца сменили не только мускулю и где еще аукнется ошибка - бог его знает.
sudo chown mysql:mysql /var/db/mysql (или где там лежат базы, вы пишете о /var/lib/mysql
start mysql
в первую очередь попробовал, не помогло
Сейчас снес все, установил, попал в базу mysql c GRANT привелегиями... вроде сдивнулось, отпишу как закончу

Пользователь решил продолжить мысль 31 Января 2011, 15:50:01:
vasilisc, огромное спасибо!
Все победил, делаем выводы:
1. Никого не пускайте за свой терминал! (!!!)
2. Если вы все-же столкнулись с такой проблемой, то:
2.1 Сшибаем Mysql предварительно забекапив конфиги.
            apt-get autoremove libpam-mysql mysql-server mysql-client
2.2 Устанавливаем оного.
            apt-get install libpam-mysql mysql-server mysql-client
2.3 Восстанавливаемся (конфиги, базы) из бекапа (если имеется) не забываем про права root у нас теперь с правами.
2.4 На случай если нет такового, вспоминаем про файлик /root/.mysql_history (хоть структуру, но восстановите).

vasilisc, еще раз спасибо!
З.Ы. Вот так прошел мой понедельник.

« Последнее редактирование: 31 Января 2011, 15:50:01 от sd--Anti »

 

Страница сгенерирована за 0.097 секунд. Запросов: 19.