Portál AbcLinuxu, 11. května 2025 07:31

Dotaz: Mysql přesměrování DB

13.9.2009 14:12 zipi | skóre: 21
Mysql přesměrování DB
Přečteno: 1250×
Odpovědět | Admin

Hi, provedl jsem instalaci MYSQL Server na linuxovou distribuci Ubuntu Server 9.04. Po instalaci vše bylo OK. V adresáři /etc/mysql/my.cnf jsem změnil DATADIR s původní (/var/lib/mysql) hodnoty na /zmysql. Pod root jsem překopíroval vytvořenou DB do složky /zmysql.

Postup.:
mkdir /zmysql
chown mysql:mysql /zmysql
chmod 777 /zmysql
Překopíroval jsem data s adresáře /var/lib/mysql do adreáře /zmysql

Spuštění mysql Starting MySQL database server mysqld                            FAIL

pokus o vytvoření Mysql DB

root@srv004:/# mysql_install_db
Installing MySQL system tables...
090913 14:07:18 [Warning] Can't create test file /zmysql/srv004.lower-test
090913 14:07:18 [Warning] Can't create test file /zmysql/srv004.lower-test
ERROR: 1005  Can't create table 'db' (errno: 13)
090913 14:07:18 [ERROR] Aborting

090913 14:07:18 [Note] /usr/sbin/mysqld: Shutdown complete

Installation of system tables failed!

Examine the logs in /zmysql for more information.
You can try to start the mysqld daemon with:
/usr/sbin/mysqld --skip-grant &
and use the command line tool
/usr/bin/mysql to connect to the mysql
database and look at the grant tables:

shell> /usr/bin/mysql -u root mysql
mysql> show tables

Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /zmysql that may be helpful.

The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/bin/mysqlbug script!

my.cnf soubor

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

[client]
port		= 3306
socket		= /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket		= /var/run/mysqld/mysqld.sock
nice		= 0

[mysqld]
#
# * Basic Settings
#

#
# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#

user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
#basedir		= /zmysql/
#datadir		= /var/lib/mysql
datadir		= /zmysql
tmpdir		= /tmp
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.

bind-address		= 127.0.0.1

#
# * Fine Tuning
#

key_buffer		= 16M
max_allowed_packet	= 16M
thread_stack		= 128K
thread_cache_size	= 8

# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched

myisam-recover		= BACKUP

#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#

query_cache_limit       = 1M
query_cache_size        = 16M

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
#log		= /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
#log_slow_queries	= /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id		= 1
#log_bin		= /var/log/mysql/mysql-bin.log

expire_logs_days	= 10
max_binlog_size         = 100M
#binlog_do_db		= include_database_name
#binlog_ignore_db	= include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
#
# * Federated
#
# The FEDERATED storage engine is disabled since 5.0.67 by default in the .cnf files
# shipped with MySQL distributions (my-huge.cnf, my-medium.cnf, and so forth).
#
skip-federated
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition

[isamchk]
key_buffer		= 16M

#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the NDB Data Nodes (ndbd processes)
# not from the NDB Management Nodes (ndb_mgmd processes).
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.9.2009 15:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Mysql přesměrování DB
Odpovědět | | Sbalit | Link | Blokovat | Admin
ls -l / | grep zmysql vypíše co? Jinak předpokládám, že práva 0777 jste nastavil jenom pro testování (což někdy také může být problém, některé programy si kontrolují, zda jejich soubory nejsou příliš otevřené). Nemáte zapnutý SElinux nebo něco podobného?
13.9.2009 16:52 zipi | skóre: 21
Rozbalit Rozbalit vše Re: Mysql přesměrování DB

root@srv004:/# ls -l / | grep zmysql
drwxr-xr-x 5 mysql mysql 4096 2009-09-13 14:11 zmysql -> upravil jsem práv na 755 jak to bylo ve složce /var/lib/mysql.

V systému jsem nic zásadního neměl jen apache2 a mysql. Našel jsem Selinux v root adresáři, ale prázdní.

13.9.2009 17:06 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Mysql přesměrování DB
A když zkusíte v tom adresáři vytvořit soubor (třeba pomocí touch) jako uživatel mysql (třeba přes su), podaří se ho vytvořit? Pokud ne, zřejmě tam bude ještě nějaké nastavení, které navzdory právům zápis zakáže, napadá mne jedině SElinux (ale ten neznám, takže nevím, co a jakým způsobem kde nastavit).
13.9.2009 17:23 zipi | skóre: 21
Rozbalit Rozbalit vše Re: Mysql přesměrování DB

Pokud použiju funkci na vytvoření DB pro MySQL (mysql_isntall_db) -> tak se vytvoří jen složka mysql

root@srv004:/zmysql# mysql_install_db
Installing MySQL system tables...
090913 17:21:11 [Warning] Can't create test file /zmysql/srv004.lower-test
090913 17:21:11 [Warning] Can't create test file /zmysql/srv004.lower-test
ERROR: 1005  Can't create table 'db' (errno: 13)
090913 17:21:11 [ERROR] Aborting

090913 17:21:11 [Note] /usr/sbin/mysqld: Shutdown complete

Installation of system tables failed!

Examine the logs in /zmysql for more information.
You can try to start the mysqld daemon with:
/usr/sbin/mysqld --skip-grant &
and use the command line tool
/usr/bin/mysql to connect to the mysql
database and look at the grant tables:

shell> /usr/bin/mysql -u root mysql
mysql> show tables

Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /zmysql that may be helpful.

The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/bin/mysqlbug script!

root@srv004:/zmysql# ls -la
celkem 12
drwxr-xr-x  3 mysql mysql 4096 2009-09-13 17:21 .
drwxr-xr-x 23 root  root  4096 2009-09-13 13:41 ..
drwx------  2 mysql root  4096 2009-09-13 17:21 mysql

13.9.2009 17:35 zipi | skóre: 21
Rozbalit Rozbalit vše Re: Mysql přesměrování DB

SeLinux v distribuci nemám nainstalovaný. Po vložení apt-get install selinux jsem měl na výběr instalovat nebo ne.

root@srv004:/# find / -iname selinux
/selinux
/usr/src/linux-headers-2.6.28-11-server/scripts/selinux
/usr/src/linux-headers-2.6.28-11-server/include/config/security/selinux
/usr/src/linux-headers-2.6.28-11/security/selinux
/usr/src/linux-headers-2.6.28-11/scripts/selinux
13.1.2010 09:03 lukas
Rozbalit Rozbalit vše Re: Mysql přesměrování DB
jen abych to uzavřel, je třeba upravit APPARMOR v konfiguraku MySQL je to i napsano

# * IMPORTANT # If you make changes to these settings and your system uses apparmor, you may # also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.