Autor Zpráva
weData
Profil *
Nainstaloval jsem si mysql na linuxu poprvé normálně přes apt a nejde mi spustit. Prvně co jsem chtěl tak jako zaprvé přesunout databázi /var/lib/mysql do své složky /home/god/mysql protože mi přijde, že to musím mít někde kde na to nezapomenu to zálohovat. Obvykle totiž při přechodu najiný OS, distribuci apod. pouze zkopíruju ten /home . A když by to bylo schované někde pod /var tak na to můžu zapomenout... Takže já jsem složkám nastavil vlastníka god ... /var/lib/mysql , /usr/share/mysql a zkoušel jsem i /var/log/mysql a /var/log/mysql/error.log všem složkám rekurzivně pomocí chown god:god složka a taky práva chmod 775 složka ... no ale mysqld -u god mi píše že nelze zapisovat do /var/log/mysql/error.log a proces nemá práva. Přitom nakonfigurované to mám, user=god ...

Takže co dělám špatně? Nějaký nápad? Jedná se o Mint 20 a mysql-server 8. Není nutné spustit taky apache2? Protože já myslím, že by mysqld mělo jet samostatně jinak spuštění služby systemctl start mysql to je to samé - říká že proces byl ukončen kvůli chybě (ale jak už víme, chybu nelze zapsat).
ttttt
Profil *
Celé to není dobrý nápad. Pokud jen zkopíruješ adresář běžící databáze, můžeš přijít o data. Pokud na novém systému bude jiná verze, nemusí data načíst.Databáze spouštěná pod tvým účtem bude mít přístup ke tvým souborům. Pokud se někdo dostane do databáze, dostane se i k SSH klíčům nebo heslům. Aktualizace databáze může vyžadovat ruční zásahy. Pro zálohování databáze je dobré používat nástroje k tomu určené.

mysql-server tu nemám, ale nemyslím, že mysqld -u god mění uživatele, pod kterým databáze běží. Záleží na uživateli, který to spouští, pokud to děláš bez sudo, jsi ten uživatel ty. Můžeš nastavit práva na log 0777 a pak se podívat, co se tam zapíše. Buď ta práva máš nastavená špatně, nebo mysqld pořád běží pod uživatelem mysql. apache2 na to nemá vliv. Pokud to spouštíš jako systemd službu, pak to zřejmě běží pod mysql. Ke změně uživatele je potřeba přepsat konfiguraci té služby a reloadovat systemd, což jsi tipuju neudělal.
weData
Profil *
Děkuji ale stále tomu nerozumím co mám teda dělat. Mám to nainstalovat pod defaultním uživatelem mysqld -u mysql?

Já zkoušel toto

$ mysqld --initialize-insecure --user=god --datadir=/home/god/mysql --log-error=/home/god/logs/mysql-error.log
mysqld: Can't create directory '/home/god/mysql/' (OS errno 17 - File exists)
$ rm -r mysql
$ mysqld --initialize-insecure --user=god --datadir=/home/god/mysql --log-error=/home/god/logs/mysql-error.log
mysqld: Can't create directory '/home/god/mysql/' (OS errno 13 - Permission denied)

A byly tam furt problémy s přístupem do složky god. Prostě jakoby ten mysqld neměl přístup ...

Jak by tedy měl vypadat ten příkaz po nainstalování mysql-server? S tím že já jsem "user" a můj home dir je /home/user
Má to být takto?

mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql --log-error=/var/log/mysql/error.log

Už se s tím nervuju 24 hodin. A v konfiguráku /etc/mysql/mysql.cnf.d/mysql.cnf (pokud to píšu správně) má být tedy user=mysql a ne user=god tak aby ty názvy byly odlišné? Anebo je to jedno a konfigurák se stejně přepíše díky příkazu mysqld --initialize-insecure

Děkuji mnohokrát.
weData
Profil *
mám to už nainstalováno standardně, zatím to vypadá bez problému.
ttttt
Profil *
weData:
Děkuji ale stále tomu nerozumím co mám teda dělat. Mám to nainstalovat pod defaultním uživatelem mysqld -u mysql?
Je to nejjednodušší. Spouštět to pomocí systemd, tj. sudo systemctl start mysqld. Pokud chceš mít zálohu v home, volej pravidelně v cronu nebo systemd timeru mysqldump, který v /home/god/ vytvoří zálohu.

První příkaz selže, protože --initialize-insecure vytváří nový datový adresář a on už tam je. Druhý příkaz bych čekal, že projde. Můžeš to zkusit vytvořit v tmp, abys viděl, s jakými právy se ten adresář vytvoří.
rob
Profil *
weData:


weData:

linux pouzivam dlhe roky.

Proces nema prava, lebo v linuxe si svoje data zalohujes aj s pravami.
teraz, po skopirovani dat si si skopiroval povodne prava k DB, do inej zlozky s inymi pravami.

v celku zly koncept, ako kopirovat databazy tam a spat a ocakavat, ze to bude fungovat ako backup.

je lepsie si databazy ukladat nativne, ako napr SQL vystup a ten potom pouzivat na novom stroji s novou instalaciou DB, ako backup.

este raz, kopirovanie celych adresarov s DB a pouzivat ich, ako backup, je uplne zle riesenie, ktore sposubuje viac problemov, ako uzitku, specialne na linuxe.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0