Inicializace PostgreSQL 9.1 cannot connect, access denied atd… ?

Instalujete tak postgresql a najednou zjistíte, že nic nefunguje, nelze se připojit vzdáleně. Co teď?

Přihlásíte se na terminál server, ať už z jiné mašiny z linuxu, nebo na widlích přes putty a vykonáte následující příkazy:

doporučuji dát příkaz prvně su – postgres a enter (když jste předtím přihlášeni za roota)

psql -d template1

dostanete se do jiného promptu (viz template1=#):
template1=# CREATE ROLE uzivatel WITH LOGIN PASSWORD ‚nejake_heslo‘;
CREATE ROLE //vypíše v odpovědi postgresql
template1=# CREATE DATABASE nejakadatabaze WITH OWNER uzivatel;
CREATE DATABASE //vypíše v odpovědi postgresql
template1-#

Teď jak z uzivatele udělat administrátora?
GRANT ALL ON ALL TABLES IN SCHEMA public TO uzivatel;
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO uzivatel;
GRANT ALL ON ALL FUNCTIONS IN SCHEMA public TO uzivatel;

Tak a máte uživatele s rootovským oprávněním pro přihlášení do postgresql ale stejně se ještě nepřipojíte, protože nemáte v configu tuto možnost nastavenou:

V každé distribuci je to jinak, takže :
http://www.cyberciti.biz/faq/howto-add-postgresql-user-account/
a v dalším odkaze.

Pokud Vám není něco jasné, mrkněte sem.

Reset hesla na MySQL (debian lenny, centos 5.8)

Shit happens…zdědíte po odejitém kolegovi pár serverů, dokumentace chybí a vy si musíte poradit. Fajn, není problém, návod na resetnutí hesla na mysql serveru bezbolestně. (je vyžadováno dočasné vypnutí na pár minut MySQL server – postup tedy provádějte pozdě v noci):

/etc/init.d/mysql stop

sudo mysqld_safe –skip-grant-tables &
mysql -u root mysql

UPDATE user SET password=PASSWORD(„vase_nove_tajne_heslo“) WHERE user=“root“;
FLUSH PRIVILEGES;

Zde jsem se řídil tímto zdrojem a fungovalo to.

Další příkazy slouží k nastavení případného nového uživatele s oprávněním roota s právy na VŠECHNO:

CREATE USER ‚jmenouzivatele’@’%‘ IDENTIFIED BY ‚nejake_heslo‘;
GRANT ALL PRIVILEGES ON *.* TO ‚jmenouzivatele’@’%‘ WITH GRANT OPTION;

Tyto dva příkazy zajistí, že si vytvoříte uživatele s názvem jmenouzivatele a heslem nejake_heslo.
Druhý příkaz přidá oprávnění úplně na všechny tabulky, všechna typy práv a pověření.

Pokud by se Vám ještě nešlo na server připojit, tak třeba na debianu, tam mám tradičně problém, že MySQL server se rozhodl, že poběží jen na localhostu. TO lze editnout pomoci příkazu:

vim /etc/mysql/my.cnf

pomocí editoru dojedete k bind-address 127.0.0.1
zmáčknete shift + i, tím se dostanete do editačního modu, přepíšete to na:
bind-address vaše adresa tedy v mém případě
bind-address 192.168.0.219

ESC, :wq a enter
Pak dáte /etc/init.d/mysql restart a už se připojíte vzdáleně.

Linux mi píše, že zadaný soubor nebo cesta neexistuje, ačkoliv existuje?!

Tak to jste narazili na stejný problém, jako já před chvílí na debianu squeeze 6.0.7 amd64. Z názvu vidíte, že se jedná o 64bitový linux. Já se snažil spustit 32bitovou aplikaci, pro kterou můj 64bitový linux neměl podporu.

K vyřešení problému mi stačil příkaz:
apt-get update -y
apt-get install ia32-libs-dev -y

pokud by se objevil nějaký problém, tak:
apt-get update –fix-missing

Po nainstalování balíčku ia32-libs-dev už vše funguje.

Pokud chcete vědět víc, doporučuji tento link.