Настройка репликации master-slave в MYSQL

У нас должно быть 2 mysql сервера: master и slave В my.cnf на master пишем и рестартим mysql
[mysqld]
bind-address = 0.0.0.0
log_bin
server_id = 1
expire_logs_days = 5
max_binlog_size = 1000M
binlog_do_db = our_database1
binlog_do_db = our_database2
Затем заходим в mysql консоль на master и задаем доступ для slave
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'password_for_slave';
FLUSH PRIVILEGES;
Теперь нужно сделать дамп master Заходим в mysql консоль и блокируем таблицы
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
В ответ должны получить примерно следующее
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      102 | our_database1, our_database2 |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
Теперь спокойно снимаем дамп
mysqldump -u root  > db.sql
Заходим в консоль mysql и снимаем блокировку
mysql> UNLOCK TABLES;
Теперь загрузим дамп на slave
rsync --inplace -arvlt --stats --progress -e 'ssh -p 22' /home/db.sql  root@slave_ip:/home/db.sql
На этом действия с master закончились, переходим к slave. На slave сервере редактируем my.cnf
[mysqld]
server_id = 2
Перезапускаем slave, заливаем дамп с мастера
mysql -u root < db.sql
Включаем репликацию (MASTER_LOG_FILE и MASTER_LOG_POS берутся из команды SHOW MASTER STATUS на мастере после блокировки таблиц)
mysql> CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='slave', MASTER_PASSWORD='password_for_slave', MASTER_LOG_FILE='localhost-bin.000001', MASTER_LOG_POS=102;
mysql> START SLAVE;
Проверка репликации
mysql> SHOW SLAVE STATUS\G
1 октября 2015, 01:31

Как сделать 3proxy анонимным

# Sets the proxy on port 3128 with high anonymous flag -a
proxy -a -p3128
24 сентября 2015, 11:39

Installing Bower on Ubuntu 14.04 LTS

sudo apt-get install nodejs
sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm install -g bower
bower -version
18 сентября 2015, 17:48

Mac OS ssh tunnel

sudo ssh -N -D 999 user_name@server_address
16 сентября 2015, 02:07

No space left on device: Cannot create SSLMutex

for i in `ipcs -s | grep apache | awk '{print $2}'` ; do ipcrm -s $i; done
4 сентября 2015, 01:39

Unable to Connect to GitHub.com For Cloning

git config --global url."https://".insteadOf git://
7 августа 2015, 01:06

Nginx websocket configuration

location /chat {
proxy_pass http://node_app; 
proxy_http_version 1.1; 
proxy_set_header Upgrade $http_upgrade; 
proxy_set_header Connection "upgrade";
}
27 июля 2015, 02:00

Вход в mysql из консоли без пароля

Необходим о создать файл ~/.my.cnf
[client]
user=root
password="pass"

[mysql]
user=root
password="pass"

[mysqldump]
user=root
password="pass"

[mysqldiff]
user=root
password="pass"
25 июля 2015, 14:58

Install RVM on Ubuntu

sudo apt-add-repository ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm
15 июля 2015, 17:20

Basic auth with .htpasswd and .htaccess

AuthType Basic
AuthName "Restricted area"
AuthUserFile /home/data/site/.htpasswd
Require valid-user
13 июня 2015, 10:23

Bash - current directory

#!/bin/sh
BASEDIR=$(dirname $0)
27 мая 2015, 11:10

Mysql ORDER BY optimizations

SELECT * FROM t1
  ORDER BY key_part1,key_part2,... ;

SELECT * FROM t1
  WHERE key_part1 = constant
  ORDER BY key_part2;

SELECT * FROM t1
  ORDER BY key_part1 DESC, key_part2 DESC;

SELECT * FROM t1
  WHERE key_part1 = 1
  ORDER BY key_part1 DESC, key_part2 DESC;

SELECT * FROM t1
  WHERE key_part1 > constant
  ORDER BY key_part1 ASC;

SELECT * FROM t1
  WHERE key_part1 < constant
  ORDER BY key_part1 DESC;

SELECT * FROM t1
  WHERE key_part1 = constant1 AND key_part2 > constant2
  ORDER BY key_part2;
6 мая 2015, 18:01

Удаление записи из known_hosts

ssh-keygen -R "hostname"
2 мая 2015, 00:16

Подсчет размера директорий первого уровня

du
du -hs *
23 апреля 2015, 18:21

Настройка сетевого интерфейса в Debian

nano /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address XXX.XXX.XXX.XXX
        netmask 255.255.255.255
        gateway XXX.XXX.XXX.XXX
Ну и в завершении
/etc/init.d/networking restart
19 апреля 2015, 17:03

Crontab

Добавление файла расписания:
crontab /path/to/file
Вывести содержимое текущего файла расписания:
crontab -l
Удаление текущего файла расписания:
crontab -r
Редактирование текущего файла расписания (при первом запуске будет выведен список поддерживаемых текстовых редакторов):
crontab -e
Этот ключ позволяет выполнять вышеописанные действия для конкретного пользователя (запуск только от root):
crontab -u username
Зарезервированные литералы
@reboot	Запуск при загрузке	
@yearly	Раз в год	0 0 1 1 *
@annually	Тоже что и @yearly	
@monthly	Раз в месяц	0 0 1 * *
@weekly	Раз в неделю	0 0 * * 0
@daily	Раз в день	0 0 * * *
@midnight	В полночь (00:00)	
@hourly	Каждый час	0 * * * *
13 апреля 2015, 10:48

Установка nginx в ubuntu 14.04

sudo apt-get install nginx-extras
sudo update-rc.d nginx enable
12 апреля 2015, 11:56

Установка FFmpeg на Centos 6, сборка из исходников

yum -y groupinstall "Development Tools"

git clone git://git.videolan.org/x264.git
cd x264
./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --disable-asm --enable-shared
make && make install
cd ..

git clone https://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
autoreconf -i
./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --disable-shared
make && make install
cd ..

wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xvzf yasm-1.2.0.tar.gz
cd yasm-1.2.0/
./configure
make && make install
cd ..

wget http://downloads.sourceforge.net/opencore-amr/vo-aacenc-0.1.2.tar.gz
tar xzvf vo-aacenc-0.1.2.tar.gz
cd vo-aacenc-0.1.2
./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --disable-shared
make && make install
cd ..

wget http://downloads.sourceforge.net/opencore-amr/fdk-aac/fdk-aac-0.1.4.tar.gz
tar xzvf fdk-aac-0.1.4.tar.gz
cd fdk-aac-0.1.4
./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --disable-shared
make && make install
cd ..

git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --enable-libfdk-aac --enable-libx264 --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libvo-aacenc
make && make install
cd ..
11 апреля 2015, 14:45

Список установленных пакетов в Centos

yum list installed
4 апреля 2015, 17:44

Как удалить файлы из git индекса

git rm --cached mylogfile.log
git rm --cached -r mydirectory
28 марта 2015, 19:48