Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: On 20 Května 2012, 10:51:36
-
Zdravím,
nějaký ten den se snažím rozběhnout dvě instance databáze mysql, ale pořád se to cosi nedaří...našel by se někdo, kdo to již rozběhnul?
Postupoval jsem dle tohoto návodu:
http://ubuntuforums.org/archive/index.php/t-1154296.html
Při startu mysql to píše tuto chybu:
120520 10:07:50 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist
120520 10:07:50 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120520 10:07:50 InnoDB: The InnoDB memory heap is disabled
120520 10:07:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120520 10:07:50 InnoDB: Compressed tables use zlib 1.2.3.4
120520 10:07:50 InnoDB: Initializing buffer pool, size = 128.0M
120520 10:07:50 InnoDB: Completed initialization of buffer pool
120520 10:07:50 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: 'create'.
InnoDB: Cannot continue operation.
..mám to víceméně stejně, jen v my.cnf jsem použil uživatele "mysql", on tam má "root". Ikdyž, zkoušel jsem i roota, ale ta samá chyba. Po chvilce googlení to vypadalo i na problém v apparmor, ale v tom samém návodu níže je napsáno, co tam vložit...celý soubor /etc/apparmor.d/usr.sbin.mysqld vypadá takto:
# vim:syntax=apparmor
# Last Modified: Tue Jun 19 17:37:30 2007
#include <tunables/global>
/usr/sbin/mysqld {
#include <abstractions/base>
#include <abstractions/nameservice>
#include <abstractions/user-tmp>
#include <abstractions/mysql>
#include <abstractions/winbind>
capability dac_override,
capability sys_resource,
capability setgid,
capability setuid,
network tcp,
/etc/hosts.allow r,
/etc/hosts.deny r,
/etc/mysql/*.pem r,
/etc/mysql/conf.d/ r,
/etc/mysql/conf.d/* r,
/etc/mysql/*.cnf r,
/usr/lib/mysql/plugin/ r,
/usr/lib/mysql/plugin/*.so* mr,
/usr/sbin/mysqld mr,
/usr/share/mysql/** r,
/var/log/mysql.log rw,
/var/log/mysql.err rw,
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
/var/run/mysqld/mysqld.pid w,
/var/run/mysqld/mysqld.sock w,
/run/mysqld/mysqld.pid w,
/run/mysqld/mysqld.sock w,
/var/lib/mysql2/ r,
/var/lib/mysql2/** rwk,
/var/run/mysqld/mysqld2.pid w,
/var/run/mysqld/mysqld2.sock w,
# Site-specific additions and overrides. See local/README for details.
#include <local/usr.sbin.mysqld>
Jedna instance se nachází ve /var/lib/mysql, druhá instance /var/lib/mysql2 (on tam má /var/lib/mysql1 a mysql2, ale to je fuk)
Start mysql nevypíše vůbec nic:
root@domatest:/var/log/mysql# /etc/init.d/mysql start
root@domatest:/var/log/mysql#
Ale dle init skriptu ani nic nevypíše:
basedir=/usr
bindir=/usr/bin
if test -x $bindir/mysqld_multi
then
mysqld_multi="$bindir/mysqld_multi";
else
echo "Can't execute $bindir/mysqld_multi from dir $basedir";
exit;
fi
case "$1" in
'start' )
"$mysqld_multi" start $2
;;
'stop' )
"$mysqld_multi" stop $2
;;
'report' )
"$mysqld_multi" report $2
;;
'restart' )
"$mysqld_multi" stop $2
"$mysqld_multi" start $2
;;
*)
echo "Usage: $0 {start|stop|report|restart}" >&2
;;
esac
Jinak mám Ubuntu 12.04 server, 32bit
díky
-
Funguje to bez apparmoru ?
120520 10:07:50 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: 'create'.
InnoDB: Cannot continue operation.
Práva na adresářích pro mysql usera. Pak vidím další možný problém s log souborem pro každou instanci by měl být separátní, včetně konf apparmor.
-
Bez apparmoru je výpis o něco stručnější a také jasnější, bohužel problém v právech by být neměl, pokud si nežádá nějaké spešl oprávnění...
Logy mám pro oba servery separátní... (bez apparmoru)
mysql1:
120520 19:06:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql1/mysql
/usr/sbin/mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 13)
Fatal error in defaults handling. Program aborted
120520 19:06:36 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid1 ended
mysql2:
120520 19:06:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql2/mysql
/usr/sbin/mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 13)
Fatal error in defaults handling. Program aborted
120520 19:06:36 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid2 ended
Oprávnění na tento adresář jsem dal na 777, uživatele mysql...to samé oprávnění jsem dal na datadir obou serverů:
/var/lib/mysql1 (předtím jsem měl /var/lib/mysql ..bez toho čísla 1. Teď už ale laboruju)
/var/lib/mysql2
root@domatest:/var/log/mysql# ll /var/lib/ | grep mysql
drwx------ 6 mysql mysql 4096 kvě 20 17:27 mysql/
drwxrwxrwx 6 mysql mysql 4096 kvě 19 22:14 mysql1/
drwxrwxrwx 6 mysql mysql 4096 kvě 20 17:28 mysql2/
kurnik už nevím..zkoušel jsem hodně configů v my.cnf dle návodů na googlu, ale nic moc...
Tady by podle všeho měl být řešen ten problém, ale nějak se nedaří..
http://mysqlmusings.blogspot.com/2009/12/using-mysqldmulti-on-karmic.html
-
Can't read dir of '/etc/mysql/conf.d/
Tenhle adresář existuje a je v něm to co v něm má být ?
-
Tak adresář existuje, jak jsem psal, dal jsem mu práva 777 ..jestli v něm ale je to, co má být netuším...nevím totiž, co v něm má být :) Je tam jeden konfigurák:
/etc/mysql/conf.d:
drwxrwxrwx 2 mysql root 4096 kvě 20 20:03 conf.d/
-rw-r--r-- 1 root root 21 bře 30 03:42 mysqld_safe_syslog.cnf
obsah:
[mysqld_safe]
syslog
EDIT:
když dám práva na soubor 777, tak :
root@domatest:/var/log/mysql# /etc/init.d/mysql start
Warning: World-writable config file '/etc/mysql/conf.d/mysqld_safe_syslog.cnf' is ignored
Warning: World-writable config file '/etc/mysql/conf.d/mysqld_safe_syslog.cnf' is ignored
Warning: World-writable config file '/etc/mysql/conf.d/mysqld_safe_syslog.cnf' is ignored
Warning: World-writable config file '/etc/mysql/conf.d/mysqld_safe_syslog.cnf' is ignored
root@domatest:/var/log/mysql#
ale v logu stejná chyba, tudíž:
120520 19:06:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql1/mysql
/usr/sbin/mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 13)
Fatal error in defaults handling. Program aborted
120520 19:06:36 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid1 ended
-
http://dev.mysql.com/doc/refman/5.5/en/mysqld-multi.html
Tady je info k aktuální verzi mysql. Ten návod podle kterého jsi postupoval je starý. Skus to porovnat.
-
http://dev.mysql.com/doc/refman/5.5/en/mysqld-multi.html
Tady je info k aktuální verzi mysql. Ten návod podle kterého jsi postupoval je starý. Skus to porovnat.
Ok, zkusím to, dám vědět... díky