Fórum Ubuntu CZ/SK

Ostatní => Ubuntu Server => Téma založeno: On 20 Května 2012, 10:51:36

Název: MYSQL - multiple
Přispěvatel: 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:

Citace
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:

Citace
# 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:

Kód: [Vybrat]
root@domatest:/var/log/mysql# /etc/init.d/mysql start
root@domatest:/var/log/mysql#

Ale dle init skriptu ani nic nevypíše:

Citace
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
Název: Re:MYSQL - multiple
Přispěvatel: Armus69 20 Května 2012, 16:24:50
Funguje to bez apparmoru ?

   
Kód: [Vybrat]
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.
Název: Re:MYSQL - multiple
Přispěvatel: On 20 Května 2012, 19:11:39
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:

Citace
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:

Citace
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

Kód: [Vybrat]
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
Název: Re:MYSQL - multiple
Přispěvatel: Armus69 21 Května 2012, 10:20:42
Kód: [Vybrat]
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 ?
Název: Re:MYSQL - multiple
Přispěvatel: On 21 Května 2012, 10:57:32
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:

Kód: [Vybrat]
drwxrwxrwx   2 mysql root 4096 kvě 20 20:03 conf.d/

Kód: [Vybrat]
-rw-r--r-- 1 root  root   21 bře 30 03:42 mysqld_safe_syslog.cnf
obsah:

Citace
[mysqld_safe]
syslog


EDIT:

když dám práva na soubor 777, tak :

Kód: [Vybrat]
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íž:

Citace
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
Název: Re:MYSQL - multiple
Přispěvatel: Armus69 22 Května 2012, 10:52:11
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.
Název: Re:MYSQL - multiple
Přispěvatel: On 22 Května 2012, 12:34:28
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