Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z baza (widokami?) po przeniesieniu bazy.
Forum PHP.pl > Forum > Bazy danych > MySQL
horiz0n
witam,
stalo sie tak, ze zaszla potrzeba przeniesienia bazy z jednego serwera na drugi.
zrobilem to w standardowy sposob:

Kod
mysqldump -u root -p --opt scrumtool > scrumtool.sql

mysql -u root -p scrumtool < scrumtool.sql


generalnie dziala wszystko poza widokiem?

na starym serwerze wyglada to tak:

  1. mysql> USE scrumtool;
  2. DATABASE changed
  3. mysql> SHOW TABLES;
  4. +---------------------+
  5. | Tables_in_scrumtool |
  6. +---------------------+
  7. | Defect |
  8. | backlog |
  9. | flag_defs |
  10. | flags |
  11. | releases |
  12. | sprints |
  13. | tickets |
  14. +---------------------+
  15. 7 rows IN SET (0.00 sec)
  16.  
  17. mysql> SELECT * FROM backlog;
  18.  
  19. ...tu pokzuje zawartosc...


na nowym to samo konczy sie tak:

  1. mysql> USE scrumtool;
  2. Reading TABLE information FOR completion of TABLE AND COLUMN names
  3. You can turn off this feature TO get a quicker startup WITH -A
  4.  
  5. DATABASE changed
  6. mysql> SHOW TABLES;
  7. +---------------------+
  8. | Tables_in_scrumtool |
  9. +---------------------+
  10. | Defect |
  11. | backlog |
  12. | flag_defs |
  13. | flags |
  14. | releases |
  15. | sprints |
  16. | tickets |
  17. +---------------------+
  18. 7 rows IN SET (0.00 sec)
  19.  
  20. mysql> SELECT * FROM backlog;
  21. ERROR 1356 (HY000): VIEW 'scrumtool.backlog' REFERENCES invalid TABLE(s) OR COLUMN(s) OR FUNCTION(s) OR definer/invoker of VIEW lack rights TO USE them


gdzies zanalazlem niby obejscie problemu:
  1. mysql> CREATE SQL SECURITY INVOKER VIEW scrumtool.backlog AS SELECT * FROM backlog;
  2. ERROR 1356 (HY000): VIEW 'scrumtool.backlog' REFERENCES invalid TABLE(s) OR COLUMN(s) OR FUNCTION(s) OR definer/invoker of VIEW lack rights TO USE them


ale to tez nie dziala. jak to naprawic? probowalem nawet recznie przrzucic pliki z /var/lib/mysql/scrumtool ale oczywiscie bez rezultatu.
kartin
Z pliku SQL który wyeksportowałeś, w miejscu tworzenia widoku usuń fragment analogiczny do poniższego:
  1. DEFINER=`user`@`host` SQL SECURITY DEFINER

horiz0n
[quote name='kartin' post='1163062' date='25.06.2015, 13:46:51 ']Z pliku SQL który wyeksportowałeś, w miejscu tworzenia widoku usuń fragment analogiczny do poniższego:
<!--Geshi:445554:sql--><pre class="sql" style="font-family:monospace;"><div class="head">
  1. [topic=0]O_TYPE does <span class="kw1">NOT</span> exist</div>
  2. [/list]<div class="foot">[SQL] [topic=0]YPE wystepuje tylko w jednej linii i nie ma spacji pomiedzy fraza a ( - nawiasem:
  3. [sql]
  4. /*!50001 VIEW `backlog` AS select `tickets`.`TITLE` AS `TITLE`,`tickets`.`IMPORTANCE` AS `IMPORTANCE`,`tickets`.`ESTIMATE` AS `ESTIMATE`,`tickets`.`ESTIMATE_TYPE` AS `ESTIMATE_TYPE`,`tickets`.`SCHEDULE` AS `SCHEDULE`,`tickets`.`TID` AS `TID`,`tickets`.`COLOUR` AS `COLOUR`,`TICKET_COLOUR_TO_TYPE`(`tickets`.`COLOUR`) AS `TICKET_TYPE`,`tickets`.`HERITAGE` AS `HERITAGE`,`tickets`.`PROJECTCODE` AS `PROJECTCODE`,`tickets`.`STATUS` AS `STATUS`,`tickets`.`SUMOFCHILDREN`,`tickets`.`PRIORITY_TREE` AS `PRIORITY_TREE`,`tickets`.`FOOTNOTE` AS `FOOTNOTE`,`tickets`.`TEAM` AS `TEAM`,`tickets`.`TT` AS `TT` from `tickets` group by `tickets`.`TID` order by if((`tickets`.`COLOUR` in ('forestgreen','green','palegreen')),concat((2000 - if((`tickets`.`IMPORTANCE` is not null),`tickets`.`IMPORTANCE`,0)),lpad(`tickets`.`TID`,6,'0'),'0'),concat(substr(`tickets`.`PRIORITY_TREE`,-(21),10),'1')) */;


usunalem linie z DEFINER,ale dalej przy zasysaniu bazy sypie w/w problemem z nie istniejaca funkcja, a sama zawartosc /var/lib/scrumtool rozni sie iloscia plikow wzgledem pierwszego serwera.
kartin
Cytat(horiz0n @ 25.06.2015, 14:57:37 ) *
w calym dumpie fraza TICKET_COLOUR_TO_TYPE wystepuje tylko w jednej linii
Właśnie w tym jest problem. Nie eksportujesz wszystkiego.

W mysqldump dodaj parametr --routines
horiz0n
Cytat(kartin @ 25.06.2015, 14:11:13 ) *
Właśnie w tym jest problem. Nie eksportujesz wszystkiego.

W mysqldump dodaj parametr --routines


dziekuje, wyglada na to ze rozwiazales moj problem. sprawdze jednak wieczorem, bo teraz baza jest w uzyciu i dam znac.

pozdrawiam.

Tak, to bylo. dziekuje bardzo za pomoc.

pozdrawiam.
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.