Создавайте/Пишите Полномочия в MySQL

Я испытываю некоторые проблемы разрешения с моим SELECT ... INTO OUTFILE оператор.

Когда я вхожу в свою базу данных и делаю простую команду экспорта, например:

mysql> select * from XYZ into outfile '/home/mropa/Photos/Desktop/TEST.txt';

Я получаю отвечание:

ERROR 1 (HY000): 
Can't create/write to file '/home/mropa/Photos/Desktop/TEST.txt' 
(Errcode: 13)

Однако, когда я просто пишу:

mysql> select * from XYZ into outfile 'TEST.txt';
Query OK, 8287 rows affected (0.73 sec)

Файл записан в каталог /var/lib/mysql/XYZ. Я изучил файл /etc/apparmor.d/usr.sbin.mysqld где mysql, кажется, определяет чтение и запись полномочий, но я действительно не знаю, как изменить его.

Как я могу дать мне разрешение экспортировать mysql таблицу в какой-либо каталог, который я люблю?

6
задан mropa 15 February 2010 в 20:34
поделиться

4 ответа

Прежде всего ActionScript 3 и JavaScript определены в ECMA-262 , поэтому они имеют много общего. Оба языка имеют, например, наследование прототипа. Однако неверно, что ActionScript полностью реализует ES4 .

ActionScript реализует пару функций, которые не определены в ECMA-262, и некоторые - но определенно не все - ES4.

Что же AS3 добавляет к ECMA-262? Это - также различия к JavaScript:

  • Динамично и статически напечатанные Пакеты кода
  • , Классы и Интерфейсы
  • Стандартная модель наследования OO (не прототип базировался, статически напечатанный)
  • uint и международный тип данных
  • E4X (ECMA-357)
  • Безопасная от типа условная компиляция (ES4)
  • Вектор. тип данных (ES4)

, Возможно, я забыл некоторые особенности. Я не уверен, что XML, XMLList и т.д. уже определены в 262 или пришли с 357.

Однако ключевым отличием является стандартная библиотека. JavaScript поставляется с парой предопределенных классов, таких как DOMElement и зависимые от браузера дополнения. ActionScript имеет довольно большую стандартную библиотеку с такими функциями, как потоковая передача видео, и согласован на всех платформах.

-121--1261686-

См. https://wiki.ubuntu.com/DebuggingApparmor для получения информации об отладке/отключении профилей оборудования.

В частности, это не может быть проблемой для предприятия. Возможно, у пользователя mysqld нет разрешений на запись в указанную папку. Проверьте разрешение в конечном каталоге/файле.

-121--4293769-

Проблема заключается в разрешениях каталога. mysqld не выполняется как current_user. Добавьте пользователя mysqld в группу, которая имеет разрешения на запись в целевые каталоги (удобно, но не безопасно), или не забудьте изменить разрешения целевого каталога до и после записи файла комплекта.

6
ответ дан 10 December 2019 в 00:38
поделиться

Похоже, вы этого не делаете. иметь доступ к этой конкретной папке. Вы должны добавить mysql к владельцу группы в этом конкретном месте.

Я не знаю, под каким пользователем вы запускаете mysql, однако

chown mysql: mysql on / home / mropa / Photos / Desktop / logs будет означать, что пользователь mysql и группа mysql являются владельцем, поэтому имеет разрешение. Затем вам нужно убедиться, что разрешения включают запись, но этого должно быть достаточно.

Команда Чоуна

1
ответ дан 10 December 2019 в 00:38
поделиться

вы можете создать каталог, доступный для записи пользователю, который запускает mysqld (обычно "mysql") и напишите туда файл. Для интанса:

chmod a+w /home/mropa/mysql
2
ответ дан 10 December 2019 в 00:38
поделиться

См. https://wiki.ubuntu.com/DebuggingApparmor для получения информации об отладке/отключении профилей apparmor.

Это может быть не проблема apparmor в частности. Пользователь, от имени которого запущен mysqld, может не иметь прав на запись в указанную вами папку. Проверьте разрешение на каталог/файл назначения.

1
ответ дан 10 December 2019 в 00:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: