Tworzenie nowej bazy danych MYSQL z użyciem QT

0

Witam forumowiczów,
nie do końca jestem pewien czy w dobrym dziale umieszczam temat, ponieważ tworzę program z wykorzystaniem biblioteki QT i mój problem tyczy się SQL.
Założenie projektowe jest takie, że program przy pierwszym uruchomieniu ma tworzyć bazę danych do przechowywania informacji. Korzystałem w swoim życiu wiele razy z MYSQL, ale nie potrafię do końca sobie z tym poradzić.

  1. Czy, aby utworzyć nową bazę danych mój program potrzebuje dostępu do konta root w MYSQL ?
  2. Czy jest możliwość utworzenia nowej bazy z poziomu C++ z wykorzystaniem QT ? Próbowałem z zapytaniem "CREATE DATABASE IF NOT EXISTS test" ale nie przyniosło to żadnego efektu.
    Z góry dziękuję za każdą przydatną poradę.
    Br,
    Bartek M.
0
  1. Aby utworzyć bazę musisz się połączyć na parametrach użytkownika, który ma prawo do tworzenia bazy danych - jest nim root ale może być i inny użytkownik, który będzie mógł odpalić tworzenie bazy danych.
  2. Powinna być taka możliwość, upewnij się że łączysz się z danymi odpowiedniego użytkownika. Jeśli się nie udaje to sprawdź komunikat błędu - kryształowa kula niestety nic nie mówi.
0

Odpowiedź zrodziła nowe pytania. Skoro mamy programy, które przechowują dane w bazach takich jak MYSQL i one nie pytają wcale o podanie hasła dostępu dla root w tej bazie to jak one zakładają nową bazę danych dla swoich informacji?
Cały proces instalacji takiego programu, który wymaga MYSQL do swojego poprawnego działania na systemie Linux byłby dość skomplikowany, a wiem że nie jest to konieczne.
Czy macie odpowiedź na te pytania?
Br

0

Podaj program który tak robi. Jakoś sobie nie przypominam. Z tymi co miałem do czynienia to np. pod Windows instalowały się razem z systemem bazy danych(wtedy konfiguracja była znana aplikacji) lub trzeba było skonfigurować aplikację. Pierwszy lepszy przykład(nie C++ ale jednak program korzystający z bazy) - Wordpress - musisz podać parametry dostępowe i bazę danych, a dopiero wtedy mogą działać skrypty tworzące strukturę bazy.

Co do Linuksa to jest taki program jak xTuple(chyba dobrze pamiętam ale nie na 100%) - jest to aplikacja typu ERP. Korzysta z PostgreSQL. Jest instalator - wizard, który prowadzi za rączkę i w nim np. trzeba podać parametry dostępowe do bazy danych, aby program mógł stworzyć wymaganą strukturę.

Jest też możliwość korzystania w aplikacji z bazy, która nie wymaga instalacji serwera - SQLite, Firebird, Access - wtedy aplikacja ma zaszyte parametry, wie gdzie szukać pliku bazy i nie potrzeba konfiguracji.

0

Właśnie wczoraj koledzy z pracy też powiedzieli mi o SQLITE i się zastanawiam nad tym czy jest to bezpieczne rozwiązanie? Czy pliki z bazą danych są szyfrowane? Czy polecasz takie rozwiązanie?

0

Pliki z bazą mogą być szyfrowane, a wszystko zależy od tego, co potrzebujesz.

0

Zaglądnij na stronę o SQLite i sprawdź. Jak ostatnio robiłem w tej bazie to nie było szyfrowania - trzeba samemu sobie szyfrować. Co do wyboru bazy to na mój gust trzeba najpierw pomyśleć co i do czego jest ona potrzebna, bo może się okazać że wymagania będą dość wysokie i wtedy np. wbudowane bazy danych odpadną i trzeba tak czy siak instalować serwer. Nie ma co przesadzać z szyfrowaniem bazy itp. - jeśli baza jest u klienta to on może z nią zrobić wszystko - taka jest prawda i trzeba mieć to na uwadze bo można zwariować kombinując nad irracjonalnymi zabezpieczeniami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1