Archive for the MySQL Category

Feb 6 2015

compiling mariadb 10.0 on Slackware

add option
-DWITH_JEMALLOC=NO
to slackbuild

Dec 5 2012

mysql trigger

DELIMITER |
CREATE TRIGGER `klienci_before_insert` BEFORE INSERT ON `klienci`
FOR EACH ROW
set NEW.sha1 = sha1(NEW.klient_id+NEW.time_add);
|

DELIMITER ;

Jan 9 2012

Postfix + Mysql + dovecot + Maildir

wpis w /etc/dovecot.conf.d/10-mail.conf
mail_location = maildir:/var/vmail/%d/%n/Maildir

auth-sql.conf.ext
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}

userdb static {
args = uid=5000 gid=5000 home=/var/vmail/%d/%n allow_all_users=yes
}

Sep 2 2011

mysql cluster

Pokaż zajętą pamięć: ndb_mgm , ALL REPORT MEMORY

Pierwsze uruchomienie clastra lub zmiana parametrów:

  • na managerze /etc/rc.d/rc.ndb_mgmd reload
  • na datanode po zmianie parametrów: ndbd –initial
  • na mysqlnode (API): /etc/rc.d/rc.mysqld restart

 

Apr 12 2011

Import bazy Teryt do MSQL

Baza danych teryt jest dostępna publicznie na tej stronie.

Ściągamy i rozpakowujemy pliki do jakiegoś katalogu dostępnego także z poziomu przeglądarki www.

Ściągamy plik Unserializer.php

Pliki php do importu simc.php terc.php ulic.php wmrodz.php
Tworzymy bazę teryt w mysql-u:teryt.create.sql_.
Dodajemy użytkownika z uprawnieniami (przynajmniej INSERT) do bazy teryt.
Po kolei uruchamiamy skrypty simc.php terc.php ulic.php wmrodz.php z przeglądarki.
Skrypty wykonują się dość długo i zajmują sporo pamięci, ja musiałem na czas impotu zmienić wpisy w php.ini (i zrestartować apache’a)
max_execution_time = 240 ; Maximum execution time of each script, in seconds
memory_limit = 1024M ; Maximum amount of memory a script may consume (128MB)

Dla leniwych: Baza danych teryt w formacie MYSQL (stan na 2011.04.12.)

Feb 28 2011

mysql reset zapomnianego hasła

Zatrzymaj serwer mysql.
uruchom serwer w tym trybie:

 /usr/bin/mysqld_safe --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock mysql --user=root mysql
 update user set Password=PASSWORD('new-password-here') WHERE User='root';

w debianie –user=admin

Oct 28 2010

Changing innodb_log_file_size

1. change the innodb_log_file_size in the my.cnf
2. stop the server
3. rename ib_logfile0 to ib_logfile0_old
4. rename ib_logfile1 to ib_logfile1_old
5. restart server

Aug 4 2010

Slackware 13.1 + Postfix + MySQL

postfix z TLS, dovecot, mysql
na systemie 32-bit
make makefiles CCARGS=’-DUSE_TLS -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\”dovecot\” -I/usr/lib/dovecot -DHAS_MYSQL -I/usr/include/mysql’ AUXLIBS=”-L/usr/lib -lsasl2 -L/usr/lib/mysql -lmysqlclient -lz -lm -lssl -lcrypto”

jeśli wyskoczą błędy:
gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c alldig.c
mv /usr/include/mysql/events.h /usr/include/mysql/events.h.bak

Mar 19 2010

Wymuszenie SSL przy połączeniu z bazą MySQL

Tworzenie usera:

CREATE USER ‘user’@’%’ IDENTIFIED BY `123abc`;

odebranie uprawnień:

REVOKE ALL PRIVILEGES ON nazwabazy.* FROM user@`%`;

wymuszanie SSL:

GRANT SELECT, INSERT, UPDATE, DELETE ON nazwabazy.* TO user@`%` Require SSL;

lub

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, EVENT, TRIGGER, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON nazwabazy.* TO user@`%` Require SSL;

jeśli user ma mieć mozliwość połączenia tylko z localhosta to zamiast user@`%`  wpisujemy  user@localhost

Mar 18 2010

MySQL – niekompatybilność wersji

Aby podłączyć się starym klientem MySQL-a (np 3.22) do serwera w wersji >= 5 wystarczy na serwerze wykonać kwerendę:

UPDATE user SET password=old_password(‘haslo’) WHERE user=’user’;

oraz przeładować uprawnienia użytkowników.