Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ERROR 1006: Can't create database xxx (errno: 28)
Forum PHP.pl > Forum > Bazy danych > MySQL
Jack
Slackware 9.1
Po zalogowaniu:
mysql -u root -p xxx i wydaniu polecenia:
create database xxx;
mam następujący komunikat:
Kod
[MySQL] ERROR 1006: Can't create database xxx (errno: 28)

Może mi ktoś powiedzieć czemu nie moge utworzyć żadnej bazy??
Jabol
moze ciutke wiecej szczegolow. moze sproboj zmienic uprawnienia do /var/mysql ( czy jak to tam ), albo zobacz sobie co to za.

w /usr/include/asm/errno.h pisze, że błąd 28 to "No space lest on the device". Jako, że numer błędu mysql jest to w tym przypadku 1006, więc bardzo prawdopodobne, że 28 to numer błędu systemowego a nie mysql.
Jack
Wlaścicielem katalogu mysql, w którym znajdują się bazy /var/lib/mysql jest uzytkownik mysql i ma on wszystkie prawa do tego katalogu. Czy powinienem jakoś zmodyfikowac uprawnienia?
Co do błędu "No space lest on the device" - mam ok 300 MB wolnego miejsca na dysku.
rachwal
Wydaje mi sie dziwne laczenie z baza w Twoim przypdaku:

mysql -u root -p xxx

czyli laczysz sie z baza xxx przez root uzywajac hasla.

teraz jesli xxx istnieje to sie polaczysz -- jesli nie to dostaniesz blad i wrocisz do shella.

skoro udalo Ci sie polaczyc to tworzac ponownie beze xxx dostaniesz komunikat ze baza juz exist.

tak to widze.
Jack
W poleceniu mysql -u root -p xxx w miejsce xxx wpisuje hasło roota a nie nazwę bazy.

mysql -u root -p hasło_do_roota

Po zalogowaniu polecenie show databases pokazuje mi dwie standardowe bazy: mysql i test.

create database dowolna_nazwa_bazy wywala mi błąd jak w temacie. Próbowałem zakładać bazy o różnych nazwach niestety bez powodzenia.

Ten sam problem mam używając phpMyAdmin
adwol
[quote]W poleceniu mysql -u root -p xxx w miejsce xxx wpisuje hasło roota a nie nazwę bazy.

mysql -u root -p hasło_do_roota
Jeśli to jest hasło, to chyba nie powinno być spacji między -p, a xxx.
rachwal
Cytat
mysql -u root -p hasło_do_roota


8O

chyba jednak kolego sie mylisz: z basha to tak jak wspomina adwol lub --password=[pwd]
poza tym radze nie wpisywac tak hasla ze wzgledu na bezpieczenstwo (chyba ze robisz to w domciu).

wniosek: blad lezy gdzies indziej.
moze wrzucisz tu :
[sql:1:5d20b591c6]select * from mysql.user where user='root';[/sql:1:5d20b591c6]
Jabol
a nie montowałeś może niektórych katalogów w innych miejscach ? (np. /var na oddzielnej partycji ? ).
Jack
Wynik zapytania:
Kod
SELECT *

FROM mysql.user

WHERE user = 'root' LIMIT 0 , 30


Kod
Host                  localhost                    jack

User                  root                         root

Password              64924b706b5a77e0             64924b706b5a77e0

Select_priv           Y                            Y

Insert_priv           Y                            Y

Update_priv           Y                            Y

Delete_priv           Y                            Y

Create_priv           Y                            Y

Drop_priv             Y                            Y

Reload_priv           Y                            Y

Shutdown_priv         Y                            Y

Process_priv          Y                            Y

File_priv             Y                            Y

Grant_priv            Y                            Y

References_priv       Y                            Y            

Index_priv            Y                            Y

Alter_priv            Y                            Y

Show_db_priv          Y                            Y

Super_priv            Y                            Y

Create_tmp_table_priv Y                            Y

Lock_tables_priv      Y                            Y

Execute_priv          Y                            Y

Repl_slave_priv       Y                            Y

Repl_client_priv      Y                            Y

ssl_type      

ssl_cipher            [BLOB - 0 bajtów]            [BLOB - 0 bajtów]

x509_issuer           [BLOB - 0 bajtów]            [BLOB - 0 bajtów]

x509_subject          [BLOB - 0 bajtów]            [BLOB - 0 bajtów]

max_questions         0                            0

max_updates           0                            0

max_connections       0                            0


Cytat
a nie montowałeś może niektórych katalogów w innych miejscach ? (np. /var na oddzielnej partycji ? ).
Nie. Mam tylko jedeną partycję.

Cytat
Jeśli to jest hasło, to chyba nie powinno być spacji między -p, a xxx.
Fakt. Nie ma tam spacji.

BTW, czy to normalne, że mam 2 hosty?
Jack
Dodatkowa informacja.
W katalogu /var/lib/mysql/ gdzie mam dotychczasowe bazy mysql i test utworzyłem katalog nowabaza. Dzięki temu utworzyła się nowa baza o nazwie nowabaza.
Jednakże dziś zauważyłem, że nie tylko nie moge tworzyc nowej bazy poleceniem create ale tez nie moge tworzyc nowych tabel.

Polecenie:
Kod
CREATE TABLE `test` (`1` VARCHAR( 1 ) NOT NULL)

na dowolnej bazie (standardowej) test czy nowoutworzonej (przez ręczne zalozenie katalogu) nowabaza daje taki komunikat:

#3 - Error writing file './test/test.frm' (Errcode: 28 )

Generalnie problem leży w zapisie...
rachwal
no to ja sie chyba poddaje...

a mysql instalowales z jakis pakietow czy kompilowales sam ?

skoro problem z zapisem to drop database tez niezadziala... sprawdz.
Jack
Polecenie drop database nazwa_bazy zadziałało :?
MySQL miałem zainstalowany (defaultowo) przy instalacji Slackware.
rachwal
no to juz nic nie rozumiem...
rozwiazanie drastyczne: przeinstaluj mysql'a :wink:
uboottd
A masz quoty ?
jesli tak to:
quota -v mysql
rachwal
I jeszcze jedno : moze cos ciekawego w logach z mysql'a jest napisane ? Sprawdzales ?
Jack
No więc tak:
Odinstalowałem mysql'a poprzez pkgtool i skompilowalem "nowego" ze źródeł.

Problem nr 1
Po uruchomieniu mysql_install_db utworzyły się bazy mysql i test
polecenie mysql.server start nie podnosi servera mysql
Oto zapis z logu
Kod
031128 21:18:16  mysqld started

031128 21:18:17  InnoDB: Log file ./ib_logfile0 did not exist: new to be created

InnoDB: Setting log file ./ib_logfile0 size to 5 MB

InnoDB: Database physically writes the file full: wait...

031128 21:18:17  InnoDB: Error: Write to file ./ib_logfile0 failed at offset 0 0.

InnoDB: 5242880 bytes should have been written, only -1 were written.

InnoDB: Operating system error number 28.

InnoDB: Check that your OS and file system support files of this size.

InnoDB: Check also that the disk is not full or a disk quota exceeded.

InnoDB: Error number 28 means 'No space left on device'.

InnoDB: See also section 13.2 at http://www.innodb.com/ibman.html

InnoDB: about operating system error numbers.

InnoDB: Error in creating ./ib_logfile0: probably out of disk space

031128 21:18:17  Can't init databases

031128 21:18:17  Aborting



031128 21:18:17  InnoDB: Warning: shutting down a not properly started

                 InnoDB: or created database!

031128 21:18:17  /usr/local/mysql/libexec/mysqld: Shutdown Complete



031128 21:18:17  mysqld ended


Nie mam pliku my.cnf w katalogu /etc/

Po skopiowaniu plików: ib_logfile0, ib_logfile0 i ibdata1 z katalogu gdzie swoje bazy miał poprzednio zainstalowany mysql (standardowo zainstalowany z plyty slackware) server mysql ruszył. Stworzył sobie takie pliki ale zajmowaly 0 kb

Problem nr 2
Polecenie mysql.server stop nie zatrzymuje serwera mysql.
Kod
msql.server stop

No mysql pid file found. Looked for /usr/local/mysql/var/jack.pid.

Plik jack.pid jest w powyższym katalogi i ma 0 kb

Problem nr 3
Nadal nie mogę tworzyć żadnych baz i tabel w istniejących bazach

Informacje dodatkowe:

Kod
df -h

Filesystem Size Used Avail Use% Mounted on

/dev/hda2  2.1G 2.1G    0 100% /

Wygląda na to, że jednak nie mam wolnego miejsca na dysku. To może być przyczyna moich problemów.

Kod
quota -v mysql

Disk quotas for users mysql (uid 27): none

Quota.... a móglby mi ktoś to troszkę objaśnić
uboottd
Problem 1 i 3 sa ze soba zwiazanie i juz sobie odpowiedziales - nie masz miejsca na dysku.

Problem drugi - dystrybucje czesto maja wlasne poglady na polozenie roznych plikow i katalogow - sprawdz gdzie mysql zapisuje swoj pid i wstaw go do tego skryptu, choc jest to srednio grzeczna metoda kladzenia mysqla.
rachwal
Jack : a mowiles ze nie miales miejsca na dysku ? Mysle ze gdybys to sprawdzil na samym poczatku problem sam by sie rozwiazal.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.