@wtfowned

Как создать таблицы MYSQL на другом диске?

Доброго дня!

Есть сервер, на нем 2 HDD, 1 по io загружен 70%+ регулярно (система на нем), 2ой диск по нулям почти - архивы.

Хочу создать базу на 2ом HDD, не перенося текущие работающие базы, а только пару новых нагруженных.

Делал так:
0. Создал базу через Web интерфейс Vestacp.
1. Диск `sdb` на который хочу залить базу лежит смаунчен сюда/mnt/sdb , создал папку /mnt/sdb/dbs
2. Дал права владельца, и полные 777 для mysql:mysql chown -R mysql:mysql /mnt/sdb/dbs
3. Добавил в /etc/apparmor.d/local/usr.sbin.mysqld строки:
/mnt/sdb/dbs/ r,
/mnt/sdb/dbs/** rwk,

и перезагрузил права
apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
4. Перезагрузил mysql сервис.
Пробую через bash создать таблицу в нужной базе, все создается (стало работать после манипуляций с apparmor), файл появляется в /mnt/sdb/dbs.
mysql> use admin_wedding11;
Database changed
mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/mnt/sdb/dbs';
Query OK, 0 rows affected (0.95 sec)
mysql> show tables;
+---------------------------+
| Tables_in_admin_wedding11 |
+---------------------------+
| t1                        |
+---------------------------+
1 row in set (0.00 sec)
mysql> drop table t1;
Query OK, 0 rows affected (0.25 sec)
mysql> exit;
Bye

Если же пробую залить таблицу где тот же самый код практически через bash под root
mysql -u admin_wedding11u -p admin_wedding11 < /mnt/sdb/dumps/test_table.sql;

(внутри test_table.sql содержится тот же код что и напрямую ввожу если через mysql)
CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/mnt/sdb/dbs';

То вылазит ошибка (пароль к базе точно правильный!)
ERROR 1045 (28000) at line 1: Access denied for user 'admin_wedding11u'@'localhost' (using password: YES)


Никак не могу понять почему! Подскажите пожалуйста в чем проблема и как можно залить базу-таки, вроде все должно работать!
  • Вопрос задан
  • 421 просмотр
Решения вопроса 1
wagoodoogoo
@wagoodoogoo
prestashop, webix, phalcon, vue, slim, craft cms
нет привилегий на команды FILE
GRANT FILE ON *.* TO 'admin_wedding11u@localhost';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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