Я установил Ubuntu 10.10 на виртуальную машину. С apache / php / mysql ... теперь я пытаюсь переместить mysql datadir в папку, совместно используемую операционной системой хоста (win7)
, поэтому я сделал следующее:
1) смонтировано общая папка: sudo mount -t vboxsf -o uid = 103, gid = 110 mysql_h / mnt / db
uid, gid of mysql;
2) изменено / etc / mysql / my.cnf
, поэтому datadir
будет выглядеть так: datadir = / mnt / db
;
3) служба перезапущена.
при попытке подключиться к mysql я получаю следующую ошибку: ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)
PS
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /mnt/db
tmpdir = /tmp
ОБНОВЛЕНИЕ
Я изменил режим совместного использования с виртуального бокса на самбу и смонтировал его, используя: mount -t smbfs -o username = David, password =, uid = 103, gid = 110 , rw // ДЭВИД-ПК / mysql / mnt / db
. Он монтируется нормально, с пользователем / группой mysql в качестве владельцев. Но я все еще не могу запустить mysql.
журнал ошибок:
110121 13:24:38 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
110121 13:24:38 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110121 13:24:38 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
UPDATE2
grep mysql /etc/passwd
mysql:x:103:110:MySQL Server,,,:/nonexistent:/bin/false
ls -al /mnt/db/ib*
-rwxr-xr-x 1 mysql mysql 10485760 2011-01-21 13:45 /mnt/db/ibdata1
-rwxr-xr-x 1 mysql mysql 5242880 2011-01-21 13:45 /mnt/db/ib_logfile0
-rwxr-xr-x 1 mysql mysql 5242880 2011-01-21 13:45 /mnt/db/ib_logfile1
UPDATE3a
drwxr-xr-x 1 mysql mysql 4096 2011-01-21 23:08 .
drwxr-xr-x 4 root root 4096 2011-01-20 23:19 ..
-rwxr-xr-x 1 mysql mysql 4 2011-01-21 20:46 apache-server.pid
-rwxr-xr-x 1 mysql mysql 0 2011-01-21 16:21 debian-5.1.flag
-rwxr-xr-x 1 mysql mysql 10485760 2011-01-21 16:42 ibdata1
-rwxr-xr-x 1 mysql mysql 5242880 2011-01-21 23:12 ib_logfile0
-rwxr-xr-x 1 mysql mysql 5242880 2011-01-21 23:13 ib_logfile1
drwxr-xr-x 1 mysql mysql 20480 2011-01-21 16:21 mysql
-rwxr-xr-x 1 mysql mysql 6 2011-01-11 20:32 mysql_upgrade_info
UPDATE4
mysql@apache-server:/$ ls -la /mnt/db/mysql
total 970
drwxr-xr-x 1 mysql mysql 20480 2011-01-24 07:54 .
drwxr-xr-x 1 mysql mysql 4096 2011-01-24 07:54 ..
-rwxr-xr-x 0 mysql mysql 8820 2011-01-24 07:54 columns_priv.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 columns_priv.MYD
-rwxr-xr-x 0 mysql mysql 4096 2011-01-24 07:54 columns_priv.MYI
-rwxr-xr-x 0 mysql mysql 9582 2011-01-24 07:54 db.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 db.MYD
-rwxr-xr-x 0 mysql mysql 2048 2011-01-24 07:54 db.MYI
-rwxr-xr-x 0 mysql mysql 10223 2011-01-24 07:54 event.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 event.MYD
-rwxr-xr-x 0 mysql mysql 2048 2011-01-24 07:54 event.MYI
-rwxr-xr-x 0 mysql mysql 8665 2011-01-24 07:54 func.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 func.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 func.MYI
-rwxr-xr-x 0 mysql mysql 35 2011-01-24 07:54 general_log.CSM
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 general_log.CSV
-rwxr-xr-x 0 mysql mysql 8776 2011-01-24 07:54 general_log.frm
-rwxr-xr-x 0 mysql mysql 8700 2011-01-24 07:54 help_category.frm
-rwxr-xr-x 0 mysql mysql 22078 2011-01-24 07:54 help_category.MYD
-rwxr-xr-x 0 mysql mysql 3072 2011-01-24 07:54 help_category.MYI
-rwxr-xr-x 0 mysql mysql 8612 2011-01-24 07:54 help_keyword.frm
-rwxr-xr-x 0 mysql mysql 89044 2011-01-24 07:54 help_keyword.MYD
-rwxr-xr-x 0 mysql mysql 16384 2011-01-24 07:54 help_keyword.MYI
-rwxr-xr-x 0 mysql mysql 8630 2011-01-24 07:54 help_relation.frm
-rwxr-xr-x 0 mysql mysql 8937 2011-01-24 07:54 help_relation.MYD
-rwxr-xr-x 0 mysql mysql 17408 2011-01-24 07:54 help_relation.MYI
-rwxr-xr-x 0 mysql mysql 8770 2011-01-24 07:54 help_topic.frm
-rwxr-xr-x 0 mysql mysql 425616 2011-01-24 07:54 help_topic.MYD
-rwxr-xr-x 0 mysql mysql 20480 2011-01-24 07:54 help_topic.MYI
-rwxr-xr-x 0 mysql mysql 9510 2011-01-24 07:54 host.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 host.MYD
-rwxr-xr-x 0 mysql mysql 2048 2011-01-24 07:54 host.MYI
-rwxr-xr-x 0 mysql mysql 8778 2011-01-24 07:54 ndb_binlog_index.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 ndb_binlog_index.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 ndb_binlog_index.MYI
-rwxr-xr-x 0 mysql mysql 8586 2011-01-24 07:54 plugin.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 plugin.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 plugin.MYI
-rwxr-xr-x 0 mysql mysql 9996 2011-01-24 07:54 proc.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 proc.MYD
-rwxr-xr-x 0 mysql mysql 2048 2011-01-24 07:54 proc.MYI
-rwxr-xr-x 0 mysql mysql 8875 2011-01-24 07:54 procs_priv.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 procs_priv.MYD
-rwxr-xr-x 0 mysql mysql 4096 2011-01-24 07:54 procs_priv.MYI
-rwxr-xr-x 0 mysql mysql 8838 2011-01-24 07:54 servers.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 servers.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 servers.MYI
-rwxr-xr-x 0 mysql mysql 35 2011-01-24 07:54 slow_log.CSM
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 slow_log.CSV
-rwxr-xr-x 0 mysql mysql 8976 2011-01-24 07:54 slow_log.frm
-rwxr-xr-x 0 mysql mysql 8955 2011-01-24 07:54 tables_priv.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 tables_priv.MYD
-rwxr-xr-x 0 mysql mysql 4096 2011-01-24 07:54 tables_priv.MYI
-rwxr-xr-x 0 mysql mysql 8636 2011-01-24 07:54 time_zone.frm
-rwxr-xr-x 0 mysql mysql 8624 2011-01-24 07:54 time_zone_leap_second.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 time_zone_leap_second.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 time_zone_leap_second.MYI
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 time_zone.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 time_zone.MYI
-rwxr-xr-x 0 mysql mysql 8606 2011-01-24 07:54 time_zone_name.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 time_zone_name.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 time_zone_name.MYI
-rwxr-xr-x 0 mysql mysql 8686 2011-01-24 07:54 time_zone_transition.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 time_zone_transition.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 time_zone_transition.MYI
-rwxr-xr-x 0 mysql mysql 8748 2011-01-24 07:54 time_zone_transition_type.frm
-rwxr-xr-x 0 mysql mysql 0 2011-01-24 07:54 time_zone_transition_type.MYD
-rwxr-xr-x 0 mysql mysql 1024 2011-01-24 07:54 time_zone_transition_type.MYI
-rwxr-xr-x 0 mysql mysql 10466 2011-01-24 07:54 user.frm
-rwxr-xr-x 0 mysql mysql 468 2011-01-24 07:54 user.MYD
-rwxr-xr-x 0 mysql mysql 2048 2011-01-24 07:54 user.MYI
mysql@apache-server:/$ sum /mnt/db/ibdata1
02939 10240
mysql@apache-server:/$ cat /mnt/db/small.txt
very small text file from windows
mysql@apache-server:/$ ls -la /mnt/db/small.txt
-rwxr-xr-x 1 mysql mysql 33 2011-01-24 07:59 /mnt/db/small.txt
mysql@apache-server:/$ ls -la /mnt/db/mysql > /mnt/db/small
mysql@apache-server:/$ ls -la /mnt/db
total 20517
drwxr-xr-x 1 mysql mysql 4096 2011-01-24 08:03 .
drwxr-xr-x 4 root root 4096 2011-01-20 23:19 ..
-rwxr-xr-x 1 mysql mysql 0 2011-01-24 07:54 debian-5.1.flag
-rwxr-xr-x 1 mysql mysql 10485760 2011-01-24 07:54 ibdata1
-rwxr-xr-x 1 mysql mysql 5242880 2011-01-24 07:54 ib_logfile0
-rwxr-xr-x 1 mysql mysql 5242880 2011-01-24 07:54 ib_logfile1
drwxr-xr-x 1 mysql mysql 20480 2011-01-24 07:54 mysql
-rwxr-xr-x 1 mysql mysql 6 2011-01-24 07:54 mysql_upgrade_info
-rwxr-xr-x 1 mysql mysql 4562 2011-01-24 08:03 small
Ошибка не может быть больше ясной. Это - проблема полномочий. Вы можете к чтению-записи папка как свой собственный пользователь, но что относительно пользователя mysql. Mysqld работает с полномочиями пользователя mysql поэтому, необходимо удостовериться, что пользователь "mysql" может читать и записать в директора данных.
Отрывок Вашего журнала
InnoDB: ошибка означает, что mysqld не имеет прав доступа к
InnoDB: каталог.
InnoDB: Имя файла./ibdata1
InnoDB: вызов операции Файла: 'открытый'.
InnoDB: не Может продолжить операцию.
David:
во-первых, благодарит запустить все те тесты выше. Я рад, что касание/комната как mysql работало без sudo, потому что это - то, что мы тестировали. Я соглашаюсь с другими, что знаки вся точка к проблеме полномочий, но я не вижу почти знаков одного.
Как передающий тест, мог я также получать вывод от ls -la /mnt/db/mysql
?
Единственная причуда в данных, которыми Вы снабдили, является выводом от sum /mnt/db/ibdata1
, который раньше был выше, но, кажется, исчез, и если я вспоминаю, правильно было что-то как
00000 320
Это нечетно, потому что обычно только файл, полный нулей, будет давать вывод как этот. Для него возможно произойти случайным образом, но существует только one-in-a-hundred-thousand шанс. Мое инстинктивное чувство состоит в том, что даже свежеприготовленный mysql файл данных не должен быть полностью пустым.
Действительно ли возможно, что так или иначе Вам разрешают перечислить каталог, открытые файлы, и т.д., но сервер бэкэнда дает Вам, только обнуляет, когда содержание файла просят относительно? Вы могли протестировать эту гипотезу путем создания маленького текстового файла известного содержания на стороне Windows Server, затем пробуя
cat /mnt/db/SmallTextFile
на стороне Linux, как пользователь mysql? Подобный тест, где файл и создается и читается на стороне Linux (как пользователь mysql в обоих случаях) был бы полезен, также. Я не могу думать ни о каком другом способе подтвердить, что файловая система отдаст данные, которые помещаются в него.
Если это не это, я скорее вне идей, извините. Я рад, что Вы чувствовали изучение нового материала, в то время как мы запустили все эти тесты, хотя!