Avatar billede backupmand Nybegynder
10. marts 2003 - 22:20 Der er 12 kommentarer

Min MySQL opfører sig underligt

Grundlæggende er mit problem at ingen integritetsbegrænsninger overholdes.
Eksempel: jeg har en primærnøgle i en parent-tabel og en værdi i en under-tabel, som er fremmednøgle og som refererer primærnøgle-værdien i parent-tabellen. Hvis jeg forsøger at slette parent-tabellen, skulle jeg få en fejl ikke? Det gør jeg ikke og drop-kommandoen udføres på trods af at der er sat nøgler ..... hmmm nogle der kan svare på dette underlige fænomen?
Avatar billede morw Nybegynder
10. marts 2003 - 22:25 #1
Bruger du innoDB? Hvilken version?
Avatar billede backupmand Nybegynder
10. marts 2003 - 22:36 #2
Jeg ved ikke så meget om hvilke typer tabeller jeg bruger endnu, bare default (myIsam?), men jeg lavede et eksempel med to tabeller og dem specificerede jeg som innoDB tabeller. Hvordan checker jeg version?
Avatar billede morw Nybegynder
10. marts 2003 - 22:38 #3
Bare gem version. Det vigtigt er at du bruger innodb til fremmednøgler. Har du checket om det virker med innodb? Hvis ikke så kom med et dump af dine create tables
Avatar billede tefcke Nybegynder
10. marts 2003 - 23:39 #4
"spørg" din database server om flg:

SHOW VARIABLES LIKE 'have_innodb';

hvis der står YES, så er InnoDB tabeller understøttet, hvis NO, så skal du nok lige tage et kig i manualen for at se hvordan du slår dem til --> "http://www.mysql.com/doc/en/InnoDB_start.html"
Avatar billede backupmand Nybegynder
10. marts 2003 - 23:46 #5
mysql> SHOW VARIABLES LIKE 'have_innodb';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_innodb  | NO    |
+---------------+-------+
1 row in set (0.02 sec)

mysql>

ok så ved jeg hvad næste skridt er.....
Avatar billede tefcke Nybegynder
11. marts 2003 - 02:57 #6
hehe, jep!

bare læs den side jeg linkede til før, der skulle stå alt hvad du har brug for at vide!
Avatar billede backupmand Nybegynder
11. marts 2003 - 10:58 #7
Jeg er lidt langsom....
ok i win my.ini fil (som jeg kan administre fra winMySQLadmin) har jeg
indsat flg :

(bare eksemplet fra det link, du gav mig)

[mysqld]

# ----------------------------------------------------------
innodb_data_home_dir = C:/mysql/bin/ibdata
innodb_data_file_path = ibdata1:10M:autoextend

set-variable = innodb_buffer_pool_size=70M
set-variable = innodb_additional_mem_pool_size=10M

set-variable = innodb_log_file_size=20M
set-variable = innodb_log_buffer_size=8M

innodb_flush_log_at_trx_commit=1
# ----------------------------------------------------------

den ekstra værdi jeg har sat ind er innodb_data_home_dir = C:/mysql/bin/ibdata
for der stod på mysql hjemmesiden at man selv skulle sætte denne path.
Jeg har selv oprettet det dir der hedder ibdata. Jeg gemmer min ini, refresher
så jeg kan se om der er ændret noget i variables, men innoDB står stadig på 'NO'.

Hvad har jeg gjort forkert, eller skal parametre komme i en anden rækkefølge eller?
Avatar billede tefcke Nybegynder
11. marts 2003 - 12:27 #8
Jeg har de samme linier i min my.cnf.
Den smider ibdata1 og log filerne i data biblioteket under mysql installationen.

Du siger du refresher, har du prøvet at lukker den (mysql serveren) ned og starte den op igen?
Avatar billede backupmand Nybegynder
11. marts 2003 - 13:10 #9
Har du også sat din innodb_data_home_dir til det samme som ovenfor?
Jeg har genstartet comp nu, kørt mysqlshutdown, derefter winmysqladmin
innoDB står stadig på 'NO'
Avatar billede tefcke Nybegynder
11. marts 2003 - 13:18 #10
Nej, jeg har ikke sat noget home dir. Så den smider innodb filerne i data diret under mysql installationen.

Prøv at lade være med at sætte et home dir for at se om det virker, den skulle så smide dine filer i data diret!
Avatar billede backupmand Nybegynder
11. marts 2003 - 14:41 #11
jeg har smidt home_dir var'en væk og opdateret mysqladmin dvs, shutdown først og derefter winmysqladmin... men innoDB står stadig på 'NO' også efter refresh. Jeg forsøgte for sjov at lave en fil der hedder my.cnf og placerede den i roden (C:) men det virkede godt det samme. SKulle den smide noget ind under C:\mysql\bin\data ? den gør det ikke.
Avatar billede backupmand Nybegynder
11. marts 2003 - 22:16 #12
Jeg mener iøvrigt C:\mysql\data .. men det eneste der ligger derinde er de foldere der hører til den enkelte databases navn. Hjælp!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB