compiling mariadb 10.0 on Slackware
add option
-DWITH_JEMALLOC=NO
to slackbuild
add option
-DWITH_JEMALLOC=NO
to slackbuild
Dodaj kod do
/usr/share/fail2ban/server/datedetector.py
# AAMMJJ HH:MM:SS
template = DateStrptime()
template.setName("YearMonthDay Hour:Minute:Second")
template.setRegex("\d{2}\d{2}\d{2} \d{2}:\d{2}:\d{2}")
template.setPattern("%y%m%d %H:%M:%S")
self.__templates.append(template)
# cat /etc/fail2ban/filter.d/mysqld.conf
Fail2Ban configuration file
#
# Author: Darel
#
[Definition]
failregex = Access denied for user ‘.*’@’
DELIMITER |
CREATE TRIGGER `klienci_before_insert` BEFORE INSERT ON `klienci`
FOR EACH ROW
set NEW.sha1 = sha1(NEW.klient_id+NEW.time_add);
|
DELIMITER ;
Pokaż zajętą pamięć: ndb_mgm , ALL REPORT MEMORY
Pierwsze uruchomienie clastra lub zmiana parametrów:
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.)
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
Eliminacja botów wyszukujących instalacje phpmyadmina do ataków brute force.
do /etc/fail2ban/filter.d/apache-auth.conf dodajemy linijki:
docroot = /var/www/htdocs|/home/www/jakasstrona.pl|/home/www/drugastrona
badadmin = PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|
mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadm
in2
do sekcji failregex = w tym samym pliku dodajemy linijkę:
[[]client <HOST>[]] File does not exist: (?:%(docroot)s)/(?:%(badadmin)s)
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
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.
Dwa proste skrypty w Perlu.
create_table – na podstawie tabeli .dbf (Visual Fox Pro) tworzy tabele w bazie MySQL
import_table – importuje dane do utworzonej tabeli
Programy przetestowane na MySQL 5 i tabelach Visual Fox Pro 9.0.
Program odpalony na locahost osiągał prędkości importu rzędu 4000 rekordów na sek.
Wymagane moduły Perla: XBase, Getopt::Long, DBI(), List::Util, Term::ANSIScreen .