Page_c76a3fcf https://linux-notes.org Unix/ Linux блог, на котором можно найти полезную информацию по настройке ОС и ПО. Thu, 06 Dec 2018 23:05:58 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.7.2 Page_c76a3fcf https://linux-notes.org/ustanovka-apache-cassandra-klastera-v-unix-linux/ https://linux-notes.org/ustanovka-apache-cassandra-klastera-v-unix-linux/#comments Fri, 21 Apr 2017 15:55:40 +0000 http://linux-notes.org/?p=12434 Установка Apache Cassandra кластера в Unix/Linux Apache Cassandra — это распределённая noSQL система для управления БД которая позволяет создавать высоко- нагруженные и масштабируемые, а так же надежные хранилища больших массивов с данными в виде хэшей. Данный проект, в свое время разрабатывался в компании  Facebook ( до 2009 года), после чего был передан на разработку и […]

The post Установка Apache Cassandra кластера в Unix/Linux first appeared on linux-notes.org.]]>

Установка Apache Cassandra кластера в Unix/Linux

Apache Cassandra — это распределённая noSQL система для управления БД которая позволяет создавать высоко- нагруженные и масштабируемые, а так же надежные хранилища больших массивов с данными в виде хэшей. Данный проект, в свое время разрабатывался в компании  Facebook ( до 2009 года), после чего был передан на разработку и поддержку Apache Software Foundation которая и продолжает развитие Cassandra. Данное ПО используют такие гиганты как Cisco, IBM, Cloudkick, Reddit, Digg, Rackspace, Apple и Twitter.

Установка Apache Cassandra кластера в Unix/Linux

Данная СУБД, дает возможность создавать линейную масштабируемость ( если объём данных растет). Для хранения данных,  Cassandra юзает ColumnFamily. Данная можель отличается от memcachedb (которые хранят данные только в связке ключ/значение). Cassandra относится к категории хранилищ, повышенно устойчивых к сбоям: помещённые в БД данные автоматически реплицируются на несколько узлов распредёленной сети или даже равномерно распределяются в нескольких дата-центрах. Когда выходит нода из строя, ее функционал подхватывают другие. Добавление новых узлов в кластер и обновление версии Cassandra производится на лету, без дополнительного ручного вмешательства и переконфигурации других узлов. Для упрощения взаимодействия с БД поддерживается язык формирования структурированных запросов CQL (Cassandra Query Language).

Недавно, я описывал простую установку Apache Cassandra в Unix/Linux (для одной ноды):

Установка Apache Cassandra в Unix/Linux

Пришло время описать установку для нескольких нод с Apache Cassandra, которые представляют собой кластер.

Настройка Apache Cassandra кластера в Unix/Linux

Имеется следующие данные о серверах:

  • 192.168.13.163 — Apache_Cassandra_01 (centos 6)
  • 192.168.13.145 — Apache_Cassandra_02 (kali linux 2)
  • 192.168.13.147 — Apache_Cassandra_03 (Debian 8)

Далее редактируем конфиги на каждой их нод.

-===НОДА_1===-

Редактируем конфиги на нодах будущего кластера на 192.168.13.163:

# vim /etc/cassandra/conf/cassandra.yaml

В данном конфиги нужно изменить (прописать) следующее:

  • cluster_name — Имя кластера
    cluster_name: 'cassandra_cluster'
  • seeds — Прописываем адреса нод кластера
    seeds: "192.168.13.163, 192.168.13.145, 192.168.13.147"
  • listen_address — адрес самой ноды
    listen_address: 192.168.13.163
  • rpc_address — адрес самой ноды
    rpc_address: 192.168.13.163

Выполняем настройку следующего файла:

# vim /etc/cassandra/conf/cassandra-topology.properties

И прописываем в него:

# Cassandra Node IP=Data Center:Rack
192.168.13.163=dc1:rac1
192.168.13.145=dc1:rac1
192.168.13.147=dc1:rac1


# default for unknown nodes
default=DC1:r1

И переходим к другим нодам.

-===НОДА_2===-

Редактируем конфиги на нодах будущего кластера на 192.168.13.145:

# vim /etc/cassandra/cassandra.yaml

В данном конфиги нужно изменить (прописать) следующее:

  • cluster_name — Имя кластера
    cluster_name: 'cassandra_cluster'
  • seeds — Прописываем адреса нод кластера
    seeds: "192.168.13.163, 192.168.13.145, 192.168.13.147"
  • listen_address — адрес самой ноды
    listen_address: 192.168.13.145
  • rpc_address — адрес самой ноды
    rpc_address: 192.168.13.145

Выполняем настройку следующего файла:

# vim /etc/cassandra/cassandra-topology.properties

И прописываем в него:

# Cassandra Node IP=Data Center:Rack
192.168.13.163=dc1:rac1
192.168.13.145=dc1:rac1
192.168.13.147=dc1:rac1


# default for unknown nodes
default=DC1:r1

И переходим к другим нодам.

-===НОДА_3===-

Редактируем конфиги на нодах будущего кластера на 192.168.13.147:

# vim /etc/cassandra/cassandra.yaml

В данном конфиги нужно изменить (прописать) следующее:

  • cluster_name — Имя кластера
    cluster_name: 'cassandra_cluster'
  • seeds — Прописываем адреса нод кластера
    seeds: "192.168.13.163, 192.168.13.145, 192.168.13.147"
  • listen_address — адрес самой ноды
    listen_address: 192.168.13.147
  • rpc_address — адрес самой ноды
    rpc_address: 192.168.13.147

Выполняем настройку следующего файла:

# vim /etc/cassandra/cassandra-topology.properties

И прописываем в него:

# Cassandra Node IP=Data Center:Rack
192.168.13.163=dc1:rac1
192.168.13.145=dc1:rac1
192.168.13.147=dc1:rac1


# default for unknown nodes
default=DC1:r1

И переходим к другим нодам если они имеются.

Тестирование Cassandra кластера

Все ноды настроены и объединены в кластер и для запуска, можно использовать следующий вариант:

$ cassandra

Данное действие необходимо выполнить на всех узлах кластера!

Чтобы проверить статус созданного кластера, есть команда, которую стоит запустить:

$ nodetool status

Получил ошибку:

nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.

Исправлением служит следующие действия…. Находим файл cassandra-env.sh и нужно его отредактировать:

# vim /etc/cassandra/conf/cassandra-env.sh

PS: можно заюзать locate для поиска этого файла — Установка locate и updatedb в Unix/Linux

Находим в нем:

# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"

И приводим к виду ( пример):

JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=192.168.13.163"

И так на каждой из нод.

На одной из нод, получил еще ошибку:

ERROR 13:20:47 Fatal configuration error
org.apache.cassandra.exceptions.ConfigurationException: Cannot change the number of tokens from 256 to 255
	at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:896) ~[apache-cassandra-2.2.8.jar:2.2.8]
	at org.apache.cassandra.service.StorageService.initServer(StorageService.java:647) ~[apache-cassandra-2.2.8.jar:2.2.8]
	at org.apache.cassandra.service.StorageService.initServer(StorageService.java:518) ~[apache-cassandra-2.2.8.jar:2.2.8]
	at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:310) [apache-cassandra-2.2.8.jar:2.2.8]
	at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:532) [apache-cassandra-2.2.8.jar:2.2.8]
	at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:641) [apache-cassandra-2.2.8.jar:2.2.8]
WARN  13:20:47 No local state, state is in silent shutdown, or node hasn't joined, not announcing shutdown

Решение:

# nodetool flush

Потом:

# service cassandra stop

И:

# rm -rf /var/lib/cassandra/data/system/*

Запускаем кассандру и выполняем сново проверку:

$ nodetool status

Получаем:

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens       Owns (effective)  Host ID                               Rack
UN  192.168.13.145  128.89 KB  256          62.4%             1a360230-95c7-44ec-a61f-f314e374da6e  rack1
UN  192.168.13.163  89.97 KB   256          67.4%             e92cc1f5-69e2-4fe0-bf4b-28c1bf5b0131  rack1
UN  192.168.13.147  147.77 KB  256          70.2%             27f5040b-072f-4ec7-bb7c-62021a454e39  rack1

Крутотенюшки, все завелось и работает.

PS: Нужно отключить или настроить SELinux:

Как отключить SELinux на CentOS

И, если используется IPtables, то настроить его:

$ iptables -A INPUT -p tcp --dport 7000 -j ACCEPT
$ iptables -A INPUT -p tcp --dport 7199 -j ACCEPT
$ iptables -A INPUT -p tcp --dport 9160 -j ACCEPT

Основы работы с cqlsh и языком CQL

Выполняем подключение на одну из нод:

$ cqlsh 192.168.13.145

Начнем с того, что создадим ДБ, но правильней всего — стоит называть —  keyspace:

cqlsh> create keyspace example with replication ={'class':'SimpleStrategy','replication_factor':2};
cqlsh> use example;

Данными действиями, я создал кейспейс с названием example. И сейчас, создаем некоторую структуру таблиц:

cqlsh:example> create table my_table ( id int primary key, description text );

Заполняем данными для тестов:

cqlsh:example> insert into my_table (id, description) values (1,'Item 1');
cqlsh:example> insert into my_table (id, description) values (2,'Item 2');
cqlsh:example> insert into my_table (id, description) values (3,'Item 3');

Создали, а теперь проверим что получилось:

cqlsh:example> select * from my_table;

id | description
-----+-------------
1 | Item 1
2 | Item 2
3 | Item 3

(3 rows)

В кассандре нельзя выбрать строку по описанию ( как в мускуле):

cqlsh:example> select id from my_table where description = 'Item 1';
InvalidRequest: code=2200 [Invalid query] message="No secondary indexes
on the restricted columns support the provided operators: "

Строим вторичный индекс:

cqlsh:example> create index on my_table (description);

Вот теперь можно:

cqlsh:example> select id from my_table where description = 'Item 1';

id
-----
1

(1 rows)

Можно вкл\выкл трассировку запросов:

cqlsh:example> tracing on;
Now Tracing is enabled

cqlsh:example> tracing off;
Disabled Tracing.

Чтобы получить инфу о вашем кейспейсе или таблице, используйте:

cqlsh:example> desc table my_table;

... skiped ...

cqlsh:example> desc keyspace example;

... skiped ...

Чтобы удалить строку, используем:

cqlsh:example> delete from my_table where id = 1;

Чтобы удалить таблицу, используем:

cqlsh:example> drop table my_table;

Чтобы удалить кейспейс, используем:

cqlsh:example> drop keyspace example;

Для выхода, используем:

cqlsh:example> exit

Или:

cqlsh:example> quit

Вот и все, статья «Установка Apache Cassandra кластера в Unix/Linux» завершена.

The post Установка Apache Cassandra кластера в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-apache-cassandra-klastera-v-unix-linux/feed/ 1
Page_c76a3fcf https://linux-notes.org/ustanovka-lsyncd-v-unix-linux/ https://linux-notes.org/ustanovka-lsyncd-v-unix-linux/#comments Fri, 14 Apr 2017 15:02:41 +0000 http://linux-notes.org/?p=9906 Установка Lsyncd в Unix/Linux Lsyncd (Live Syncing Daemon) — утилита для синхронизации файлов между сервером(ами). Файлы на локальном компьютере отслеживаются каждые несколько секунд, и если какие-либо изменения отмечены, они затем реплицируются и синхронизируются с удаленными серверами. По умолчанию, Lsync использует Rsync для репликации файлов с локальной машины и передает только файлы, которые были изменены. Тонкоструктурную настройку можно […]

The post Установка Lsyncd в Unix/Linux first appeared on linux-notes.org.]]>

Установка Lsyncd в Unix/Linux

Lsyncd (Live Syncing Daemon) — утилита для синхронизации файлов между сервером(ами). Файлы на локальном компьютере отслеживаются каждые несколько секунд, и если какие-либо изменения отмечены, они затем реплицируются и синхронизируются с удаленными серверами. По умолчанию, Lsync использует Rsync для репликации файлов с локальной машины и передает только файлы, которые были изменены. Тонкоструктурную настройку можно выполнить через файл конфигурации. Пользовательские конфигурации действий могут даже быть написаны с нуля в каскадных слоях, начиная от shell до кода, написанного на языке Lua.

Основные Lsyncd функции:

  • Проверяет, нужно ли синхронизировать данные с локальной машиной на удаленный сервер(ы).
  • Выполняет проверку наоборот.
  • Синхронизация с вашей локальной  машины на удаленный (ые).
  • Синхронизирует наоборот.
  • Может редактировать файл «rsync includes»

Установка Lsyncd в Unix/Linux

Процесс установки очень прост и не требует очень больших усилий. Я приведу несколько примеров по установки данной утилиты на различные Unix/Linux ОС.

Установка Lsyncd в Debian/Ubuntu

# apt-get update -y && apt-get update -y

Выполним установку:

# apt-get install lsyncd -y

После установки, переходим к настройке.

Установка Lsyncd в CentOS/RedHat/Fedora

# yum -y update

Выполним установку:

# yum install lsyncd -y

И, установим дополнительные пакеты:

# yum install lua lua-devel pkgconfig gcc asciidoc -y

После установки, переходим к настройке.

Установка Lsyncd в Mac OS X

Ставим себе на машину homebrew:

Установка homebrew на Mac OS X

И выполняем установку:

$ brew install lsyncd

После установки, переходим к настройке.

Настройка и использование Lsyncd в Unix/Linux

Чтобы все хорошо работало, нужно сгенерировать RSA ключ и положить его на удаленный сервер. Я пропущу данный шаг, т.к я это уже сделал, а если не знаете как это сделать вот статья:

SSH без пароля или аутентификация с использованием шифрованных ключей

Настройка и использование Lsyncd на Mac OS X

И так, я у себя на mac OS X хотел бы настроить lsyncd таким образом, чтобы он синхронизировал все изменения.

И так, я установил данную утилиту и следующим действием, я создам папку где будет хранится лог-файлы:

$ mkdir /usr/local/var/log/lsyncd

И создаю нужные файлы:

$ touch /usr/local/var/log/lsyncd/lsyncd.{log,status}

PS: В ОС Linux они могут лежать в /var/log/lsyncd. Если не имеется такой папки, то создаем.

Далее, я создаю каталог lsyncd в /etc/ для настройки конфига:

$ sudo mkdir /etc/lsyncd

После создания данной папки, я создаю конфигурационный файл:

# vim /etc/lsyncd/linux_notes.conf.lua

Содержание следующее:

settings  {
    logfile = "/usr/local/var/log/lsyncd/lsyncd.log",
    statusFile = "/usr/local/var/log/lsyncd/lsyncd.status",
    statusInterval = 1,
    nodaemon = off
}
sync {
    default.rsyncssh,
    source = "/Users/captain/tmp",
    host = "captain@31.187.70.238",
    targetdir = "/home/captain/",
    excludeFrom="/etc/lsyncd/linux_notes.exclude",
    delay=3,
    rsync = {
        sparse = true,
        update = true,
        links = true,
        times = true,
        protect_args = false,
        archive = true,
        compress = true,
        whole_file = false,
        acls = true,
        verbose = true
    },
    ssh = {
        port = 22,
        _extra = {"/usr/bin/ssh -l captain -p 22 -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no"}
    }     

}

Иногда нужно исключать некоторые каталоги. Вы можете создать файлe и добавить исключения в строке как в этом примере:

# vim /etc/lsyncd/linux_notes.exclude

файл имеет следующее содержание:

.git/*
.*

Теперь мы можем запустить службу lsyncd, выполнив следующую команду:

$ sudo lsyncd /etc/lsyncd/linux_notes.conf.lua -delay 0

Настройка и использование Lsyncd на CentOS

Вот еще пример (проверялось на CentOS 7):

# vim  /etc/lsyncd.conf

И прописываем:

settings  {
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status",
    statusInterval = 1
}
sync {
    default.rsyncssh,
    source = "/var/www/html",
    host = "31.187.70.238",
    targetdir = "/home/backups/",
    rsync = {
        sparse = true,
        update = true,
        temp_dir="/tmp/",
        links = true,
        times = true,
        protect_args = false,
        archive = true,
        compress = true,
        whole_file = false,
        acls = true,
        verbose = true
     },
     ssh = {
        port = 22,
        _extra = {"/usr/bin/ssh -l captain -p 22 -i /home/captain/.ssh/id_rsa -o StrictHostKeyChecking=no"}
    }     

}

ИЛИ, если использовать RSYNC:

settings = {
 logfile = "/var/log/lsyncd/lsyncd.log",
 statusFile = "/var/log/lsyncd/lsyncd.stat",
 statusInterval = 2,
},
sync{
 default.rsync,
 source="/var/www/html",
 target="31.187.70.238:/home/captain/", 
 rsync={rsh ="/usr/bin/ssh -l captain -i /home/captain/.ssh/id_rsa",}
}

Запускаем демон:

# service lsyncd restart

Добавляем в автозагрузку ОС:

# chkconfig lsyncd on

Если используете CentOS 7:

# systemctl restart lsyncd

И

# systemctl enable lsyncd

Подключаемся к серверу и проверяем папки. Так же, можно посмотреть логи.

Репликация в 2 стороны

Чтобы работала репликация и в обратную сторону — на сервере в другом регионе проведите такие же настройки, но в файле конфигурации lsyncd укажите адрес первого сервера. Проверьте, что данные реплицируются и в обратном направлении. В конфигурации lsyncd уже указана временная директория temp_dir, использование которой необходимо для двусторонней синхронизации.

Репликация на несколько серверов

Вот пример конфиругации:

settings = {
   delay        = 1,
   maxProcesses = 3,
   logfile = "/var/log/lsyncd/lsyncd.log",
   statusFile = "/var/log/lsyncd/lsyncd.stat",
}

targetlist = {
 "66.66.66.10:/var/www/html", 
 "66.66.66.20:/var/www/html"
}

for _, server in ipairs(targetlist) do
  sync{ default.rsync,
    source="/var/www/html",
	rsyncOps="-rltvupgo"
    target=server
  }
end

На этом, у меня все, статья  «Установка Lsyncd в Unix/Linux» завершена.

The post Установка Lsyncd в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-lsyncd-v-unix-linux/feed/ 1
Page_c76a3fcf https://linux-notes.org/vy-vod-vsej-statistiki-mysql-mariadb-s-mysqlreport/ https://linux-notes.org/vy-vod-vsej-statistiki-mysql-mariadb-s-mysqlreport/#respond Sat, 24 Dec 2016 23:50:36 +0000 http://linux-notes.org/?p=9198 Вывод всей статистики MySQL/MariaDB с mysqlreport Для вывода статистики, в большинстве случаев используется «SHOW STATUS», который выводит информацию не упорядочено: # mysql -e "show status;" +-----------------------------------------------+--------------+ | Variable_name | Value | +-----------------------------------------------+--------------+ | Aborted_clients | 30 | | Aborted_connects | 50 | | Access_denied_errors | 0 | | Aria_pagecache_blocks_not_flushed | 0 | | Aria_pagecache_blocks_unused | 15736 […]

The post Вывод всей статистики MySQL/MariaDB с mysqlreport first appeared on linux-notes.org.]]>

Вывод всей статистики MySQL/MariaDB с mysqlreport

Для вывода статистики, в большинстве случаев используется «SHOW STATUS», который выводит информацию не упорядочено:

# mysql -e "show status;"
+-----------------------------------------------+--------------+
| Variable_name                                 | Value        |
+-----------------------------------------------+--------------+
| Aborted_clients                               | 30           |
| Aborted_connects                              | 50           |
| Access_denied_errors                          | 0            |
| Aria_pagecache_blocks_not_flushed             | 0            |
| Aria_pagecache_blocks_unused                  | 15736        |
| Aria_pagecache_blocks_used                    | 10           |
| Aria_pagecache_read_requests                  | 1021039      |
| Aria_pagecache_reads                          | 43578        |
| Aria_pagecache_write_requests                 | 77063        |
| Aria_pagecache_writes                         | 0            |
| Aria_transaction_log_syncs                    | 0            |
| Binlog_commits                                | 0            |
| Binlog_group_commits                          | 0            |
| Binlog_group_commit_trigger_count             | 0            |
| Binlog_group_commit_trigger_lock_wait         | 0            |
| Binlog_group_commit_trigger_timeout           | 0            |
| Binlog_snapshot_file                          |              |
| Binlog_snapshot_position                      | 0            |
| Binlog_bytes_written                          | 0            |
| Binlog_cache_disk_use                         | 0            |
| Binlog_cache_use                              | 0            |
| Binlog_stmt_cache_disk_use                    | 0            |
| Binlog_stmt_cache_use                         | 0            |
| Busy_time                                     | 0.000000     |
| Bytes_received                                | 241          |
| Bytes_sent                                    | 189          |
| Com_admin_commands                            | 0            |
| Com_alter_db                                  | 0            |
| Com_alter_db_upgrade                          | 0            |
| Com_alter_event                               | 0            |
| Com_alter_function                            | 0            |
| Com_alter_procedure                           | 0            |
| Com_alter_server                              | 0            |
| Com_alter_table                               | 0            |
| Com_alter_tablespace                          | 0            |
| Com_analyze                                   | 0            |
| Com_assign_to_keycache                        | 0            |
| Com_begin                                     | 0            |
| Com_binlog                                    | 0            |
| Com_call_procedure                            | 0            |
| Com_change_db                                 | 0            |
| Com_change_master                             | 0            |
| Com_check                                     | 0            |
| Com_checksum                                  | 0            |
| Com_commit                                    | 0            |
| Com_create_db                                 | 0            |
| Com_create_event                              | 0            |
| Com_create_function                           | 0            |
| Com_create_index                              | 0            |
| Com_create_procedure                          | 0            |
| Com_create_role                               | 0            |
| Com_create_server                             | 0            |
| Com_create_table                              | 0            |
| Com_create_trigger                            | 0            |
| Com_create_udf                                | 0            |
| Com_create_user                               | 0            |
| Com_create_view                               | 0            |
| Com_dealloc_sql                               | 0            |
| Com_delete                                    | 0            |
| Com_delete_multi                              | 0            |
| Com_do                                        | 0            |
| Com_drop_db                                   | 0            |
| Com_drop_event                                | 0            |
| Com_drop_function                             | 0            |
| Com_drop_index                                | 0            |
| Com_drop_procedure                            | 0            |
| Com_drop_role                                 | 0            |
| Com_drop_server                               | 0            |
| Com_drop_table                                | 0            |
| Com_drop_trigger                              | 0            |
| Com_drop_user                                 | 0            |
| Com_drop_view                                 | 0            |
| Com_empty_query                               | 0            |
| Com_execute_sql                               | 0            |
| Com_flush                                     | 0            |
| Com_get_diagnostics                           | 0            |
| Com_grant                                     | 0            |
| Com_grant_role                                | 0            |
| Com_ha_close                                  | 0            |
| Com_ha_open                                   | 0            |
| Com_ha_read                                   | 0            |
| Com_help                                      | 0            |
| Com_insert                                    | 0            |
| Com_insert_select                             | 0            |
| Com_install_plugin                            | 0            |
| Com_kill                                      | 0            |
| Com_load                                      | 0            |
| Com_lock_tables                               | 0            |
| Com_optimize                                  | 0            |
| Com_preload_keys                              | 0            |
| Com_prepare_sql                               | 0            |
| Com_purge                                     | 0            |
| Com_purge_before_date                         | 0            |
| Com_release_savepoint                         | 0            |
| Com_rename_table                              | 0            |
| Com_rename_user                               | 0            |
| Com_repair                                    | 0            |
| Com_replace                                   | 0            |
| Com_replace_select                            | 0            |
| Com_reset                                     | 0            |
| Com_resignal                                  | 0            |
| Com_revoke                                    | 0            |
| Com_revoke_all                                | 0            |
| Com_revoke_role                               | 0            |
| Com_rollback                                  | 0            |
| Com_rollback_to_savepoint                     | 0            |
| Com_savepoint                                 | 0            |
| Com_select                                    | 1            |
| Com_set_option                                | 0            |
| Com_show_authors                              | 0            |
| Com_show_binlog_events                        | 0            |
| Com_show_binlogs                              | 0            |
| Com_show_charsets                             | 0            |
| Com_show_client_statistics                    | 0            |
| Com_show_collations                           | 0            |
| Com_show_contributors                         | 0            |
| Com_show_create_db                            | 0            |
| Com_show_create_event                         | 0            |
| Com_show_create_func                          | 0            |
| Com_show_create_proc                          | 0            |
| Com_show_create_table                         | 0            |
| Com_show_create_trigger                       | 0            |
| Com_show_databases                            | 0            |
| Com_show_engine_logs                          | 0            |
| Com_show_engine_mutex                         | 0            |
| Com_show_engine_status                        | 0            |
| Com_show_errors                               | 0            |
| Com_show_events                               | 0            |
| Com_show_explain                              | 0            |
| Com_show_fields                               | 0            |
| Com_show_function_status                      | 0            |
| Com_show_grants                               | 0            |
| Com_show_index_statistics                     | 0            |
| Com_show_keys                                 | 0            |
| Com_show_master_status                        | 0            |
| Com_show_open_tables                          | 0            |
| Com_show_plugins                              | 0            |
| Com_show_privileges                           | 0            |
| Com_show_procedure_status                     | 0            |
| Com_show_processlist                          | 0            |
| Com_show_profile                              | 0            |
| Com_show_profiles                             | 0            |
| Com_show_relaylog_events                      | 0            |
| Com_show_slave_hosts                          | 0            |
| Com_show_slave_status                         | 0            |
| Com_show_status                               | 1            |
| Com_show_storage_engines                      | 0            |
| Com_show_table_statistics                     | 0            |
| Com_show_table_status                         | 0            |
| Com_show_tables                               | 0            |
| Com_show_triggers                             | 0            |
| Com_show_user_statistics                      | 0            |
| Com_show_variables                            | 0            |
| Com_show_warnings                             | 0            |
| Com_shutdown                                  | 0            |
| Com_signal                                    | 0            |
| Com_start_all_slaves                          | 0            |
| Com_start_slave                               | 0            |
| Com_stmt_close                                | 0            |
| Com_stmt_execute                              | 0            |
| Com_stmt_fetch                                | 0            |
| Com_stmt_prepare                              | 0            |
| Com_stmt_reprepare                            | 0            |
| Com_stmt_reset                                | 0            |
| Com_stmt_send_long_data                       | 0            |
| Com_stop_all_slaves                           | 0            |
| Com_stop_slave                                | 0            |
| Com_truncate                                  | 0            |
| Com_uninstall_plugin                          | 0            |
| Com_unlock_tables                             | 0            |
| Com_update                                    | 0            |
| Com_update_multi                              | 0            |
| Com_xa_commit                                 | 0            |
| Com_xa_end                                    | 0            |
| Com_xa_prepare                                | 0            |
| Com_xa_recover                                | 0            |
| Com_xa_rollback                               | 0            |
| Com_xa_start                                  | 0            |
| Compression                                   | OFF          |
| Connection_errors_accept                      | 0            |
| Connection_errors_internal                    | 0            |
| Connection_errors_max_connections             | 0            |
| Connection_errors_peer_address                | 0            |
| Connection_errors_select                      | 0            |
| Connection_errors_tcpwrap                     | 0            |
| Connections                                   | 204726       |
| Cpu_time                                      | 0.000000     |
| Created_tmp_disk_tables                       | 0            |
| Created_tmp_files                             | 102          |
| Created_tmp_tables                            | 0            |
| Delayed_errors                                | 0            |
| Delayed_insert_threads                        | 0            |
| Delayed_writes                                | 0            |
| Delete_scan                                   | 0            |
| Empty_queries                                 | 0            |
| Executed_events                               | 0            |
| Executed_triggers                             | 0            |
| Feature_delay_key_write                       | 0            |
| Feature_dynamic_columns                       | 0            |
| Feature_fulltext                              | 0            |
| Feature_gis                                   | 0            |
| Feature_locale                                | 0            |
| Feature_subquery                              | 0            |
| Feature_timezone                              | 0            |
| Feature_trigger                               | 0            |
| Feature_xml                                   | 0            |
| Flush_commands                                | 1            |
| Handler_commit                                | 0            |
| Handler_delete                                | 0            |
| Handler_discover                              | 0            |
| Handler_external_lock                         | 0            |
| Handler_icp_attempts                          | 0            |
| Handler_icp_match                             | 0            |
| Handler_mrr_init                              | 0            |
| Handler_mrr_key_refills                       | 0            |
| Handler_mrr_rowid_refills                     | 0            |
| Handler_prepare                               | 0            |
| Handler_read_first                            | 0            |
| Handler_read_key                              | 0            |
| Handler_read_last                             | 0            |
| Handler_read_next                             | 0            |
| Handler_read_prev                             | 0            |
| Handler_read_retry                            | 0            |
| Handler_read_rnd                              | 0            |
| Handler_read_rnd_deleted                      | 0            |
| Handler_read_rnd_next                         | 0            |
| Handler_rollback                              | 0            |
| Handler_savepoint                             | 0            |
| Handler_savepoint_rollback                    | 0            |
| Handler_tmp_update                            | 0            |
| Handler_tmp_write                             | 0            |
| Handler_update                                | 0            |
| Handler_write                                 | 0            |
| Innodb_available_undo_logs                    | 128          |
| Innodb_background_log_sync                    | 1296766      |
| Innodb_buffer_pool_bytes_data                 | 239648768    |
| Innodb_buffer_pool_bytes_dirty                | 0            |
| Innodb_buffer_pool_dump_status                | not started  |
| Innodb_buffer_pool_load_status                | not started  |
| Innodb_buffer_pool_pages_data                 | 14627        |
| Innodb_buffer_pool_pages_dirty                | 0            |
| Innodb_buffer_pool_pages_flushed              | 8495923      |
| Innodb_buffer_pool_pages_free                 | 18019        |
| Innodb_buffer_pool_pages_lru_flushed          | 0            |
| Innodb_buffer_pool_pages_made_not_young       | 273052       |
| Innodb_buffer_pool_pages_made_young           | 79822        |
| Innodb_buffer_pool_pages_misc                 | 121          |
| Innodb_buffer_pool_pages_old                  | 5379         |
| Innodb_buffer_pool_pages_total                | 32767        |
| Innodb_buffer_pool_read_ahead                 | 1184         |
| Innodb_buffer_pool_read_ahead_evicted         | 0            |
| Innodb_buffer_pool_read_ahead_rnd             | 0            |
| Innodb_buffer_pool_read_requests              | 1131269871   |
| Innodb_buffer_pool_reads                      | 7585         |
| Innodb_buffer_pool_wait_free                  | 0            |
| Innodb_buffer_pool_write_requests             | 26653730     |
| Innodb_checkpoint_age                         | 0            |
| Innodb_checkpoint_max_age                     | 848635454    |
| Innodb_data_fsyncs                            | 5185300      |
| Innodb_data_pending_fsyncs                    | 0            |
| Innodb_data_pending_reads                     | 0            |
| Innodb_data_pending_writes                    | 0            |
| Innodb_data_read                              | 144036352    |
| Innodb_data_reads                             | 9375         |
| Innodb_data_writes                            | 13226379     |
| Innodb_data_written                           | 283184155648 |
| Innodb_dblwr_pages_written                    | 8495923      |
| Innodb_dblwr_writes                           | 157564       |
| Innodb_deadlocks                              | 0            |
| Innodb_have_atomic_builtins                   | ON           |
| Innodb_history_list_length                    | 2685         |
| Innodb_ibuf_discarded_delete_marks            | 0            |
| Innodb_ibuf_discarded_deletes                 | 0            |
| Innodb_ibuf_discarded_inserts                 | 0            |
| Innodb_ibuf_free_list                         | 44           |
| Innodb_ibuf_merged_delete_marks               | 6756         |
| Innodb_ibuf_merged_deletes                    | 317          |
| Innodb_ibuf_merged_inserts                    | 18           |
| Innodb_ibuf_merges                            | 29           |
| Innodb_ibuf_segment_size                      | 46           |
| Innodb_ibuf_size                              | 1            |
| Innodb_log_waits                              | 0            |
| Innodb_log_write_requests                     | 5144228      |
| Innodb_log_writes                             | 4412362      |
| Innodb_lsn_current                            | 175976024925 |
| Innodb_lsn_flushed                            | 175976024925 |
| Innodb_lsn_last_checkpoint                    | 175976024925 |
| Innodb_master_thread_active_loops             | 178852       |
| Innodb_master_thread_idle_loops               | 1117914      |
| Innodb_max_trx_id                             | 787089773    |
| Innodb_mem_adaptive_hash                      | 10837712     |
| Innodb_mem_dictionary                         | 6806801      |
| Innodb_mem_total                              | 558891008    |
| Innodb_mutex_os_waits                         | 2011856      |
| Innodb_mutex_spin_rounds                      | 61417274     |
| Innodb_mutex_spin_waits                       | 2203579      |
| Innodb_oldest_view_low_limit_trx_id           | 0            |
| Innodb_os_log_fsyncs                          | 4518569      |
| Innodb_os_log_pending_fsyncs                  | 0            |
| Innodb_os_log_pending_writes                  | 0            |
| Innodb_os_log_written                         | 4735533056   |
| Innodb_page_size                              | 16384        |
| Innodb_pages_created                          | 10262        |
| Innodb_pages_read                             | 8786         |
| Innodb_pages_written                          | 8495923      |
| Innodb_purge_trx_id                           | 787089763    |
| Innodb_purge_undo_no                          | 0            |
| Innodb_read_views_memory                      | 744          |
| Innodb_row_lock_current_waits                 | 0            |
| Innodb_row_lock_time                          | 30954        |
| Innodb_row_lock_time_avg                      | 10           |
| Innodb_row_lock_time_max                      | 1921         |
| Innodb_row_lock_waits                         | 3064         |
| Innodb_rows_deleted                           | 266338       |
| Innodb_rows_inserted                          | 532176       |
| Innodb_rows_read                              | 612817648    |
| Innodb_rows_updated                           | 3996387      |
| Innodb_system_rows_deleted                    | 0            |
| Innodb_system_rows_inserted                   | 0            |
| Innodb_system_rows_read                       | 36           |
| Innodb_system_rows_updated                    | 0            |
| Innodb_s_lock_os_waits                        | 135117       |
| Innodb_s_lock_spin_rounds                     | 4291137      |
| Innodb_s_lock_spin_waits                      | 146004       |
| Innodb_truncated_status_writes                | 0            |
| Innodb_x_lock_os_waits                        | 37045        |
| Innodb_x_lock_spin_rounds                     | 1147968      |
| Innodb_x_lock_spin_waits                      | 30941        |
| Key_blocks_not_flushed                        | 0            |
| Key_blocks_unused                             | 26525        |
| Key_blocks_used                               | 330          |
| Key_blocks_warm                               | 12           |
| Key_read_requests                             | 4999670      |
| Key_reads                                     | 4791         |
| Key_write_requests                            | 46561        |
| Key_writes                                    | 20469        |
| Last_query_cost                               | 0.000000     |
| Max_used_connections                          | 42           |
| Memory_used                                   | 30048        |
| Not_flushed_delayed_rows                      | 0            |
| Open_files                                    | 26           |
| Open_streams                                  | 0            |
| Open_table_definitions                        | 604          |
| Open_tables                                   | 127          |
| Opened_files                                  | 2172286      |
| Opened_plugin_libraries                       | 0            |
| Opened_table_definitions                      | 0            |
| Opened_tables                                 | 0            |
| Opened_views                                  | 0            |
| Performance_schema_accounts_lost              | 0            |
| Performance_schema_cond_classes_lost          | 0            |
| Performance_schema_cond_instances_lost        | 0            |
| Performance_schema_digest_lost                | 0            |
| Performance_schema_file_classes_lost          | 0            |
| Performance_schema_file_handles_lost          | 0            |
| Performance_schema_file_instances_lost        | 0            |
| Performance_schema_hosts_lost                 | 0            |
| Performance_schema_locker_lost                | 0            |
| Performance_schema_mutex_classes_lost         | 0            |
| Performance_schema_mutex_instances_lost       | 0            |
| Performance_schema_rwlock_classes_lost        | 0            |
| Performance_schema_rwlock_instances_lost      | 0            |
| Performance_schema_session_connect_attrs_lost | 0            |
| Performance_schema_socket_classes_lost        | 0            |
| Performance_schema_socket_instances_lost      | 0            |
| Performance_schema_stage_classes_lost         | 0            |
| Performance_schema_statement_classes_lost     | 0            |
| Performance_schema_table_handles_lost         | 0            |
| Performance_schema_table_instances_lost       | 0            |
| Performance_schema_thread_classes_lost        | 0            |
| Performance_schema_thread_instances_lost      | 0            |
| Performance_schema_users_lost                 | 0            |
| Prepared_stmt_count                           | 0            |
| Qcache_free_blocks                            | 2278         |
| Qcache_free_memory                            | 24001944     |
| Qcache_hits                                   | 5903679      |
| Qcache_inserts                                | 8936020      |
| Qcache_lowmem_prunes                          | 577828       |
| Qcache_not_cached                             | 443508       |
| Qcache_queries_in_cache                       | 4889         |
| Qcache_total_blocks                           | 12410        |
| Queries                                       | 21827885     |
| Questions                                     | 2            |
| Rows_read                                     | 0            |
| Rows_sent                                     | 1            |
| Rows_tmp_read                                 | 0            |
| Rpl_status                                    | AUTH_MASTER  |
| Select_full_join                              | 0            |
| Select_full_range_join                        | 0            |
| Select_range                                  | 0            |
| Select_range_check                            | 0            |
| Select_scan                                   | 0            |
| Slave_connections                             | 0            |
| Slave_heartbeat_period                        | 0.000        |
| Slave_open_temp_tables                        | 0            |
| Slave_received_heartbeats                     | 0            |
| Slave_retried_transactions                    | 0            |
| Slave_running                                 | OFF          |
| Slaves_connected                              | 0            |
| Slaves_running                                | 0            |
| Slow_launch_threads                           | 0            |
| Slow_queries                                  | 0            |
| Sort_merge_passes                             | 0            |
| Sort_priority_queue_sorts                     | 0            |
| Sort_range                                    | 0            |
| Sort_rows                                     | 0            |
| Sort_scan                                     | 0            |
| Ssl_accept_renegotiates                       | 0            |
| Ssl_accepts                                   | 0            |
| Ssl_callback_cache_hits                       | 0            |
| Ssl_cipher                                    |              |
| Ssl_cipher_list                               |              |
| Ssl_client_connects                           | 0            |
| Ssl_connect_renegotiates                      | 0            |
| Ssl_ctx_verify_depth                          | 0            |
| Ssl_ctx_verify_mode                           | 0            |
| Ssl_default_timeout                           | 0            |
| Ssl_finished_accepts                          | 0            |
| Ssl_finished_connects                         | 0            |
| Ssl_server_not_after                          |              |
| Ssl_server_not_before                         |              |
| Ssl_session_cache_hits                        | 0            |
| Ssl_session_cache_misses                      | 0            |
| Ssl_session_cache_mode                        | NONE         |
| Ssl_session_cache_overflows                   | 0            |
| Ssl_session_cache_size                        | 0            |
| Ssl_session_cache_timeouts                    | 0            |
| Ssl_sessions_reused                           | 0            |
| Ssl_used_session_cache_entries                | 0            |
| Ssl_verify_depth                              | 0            |
| Ssl_verify_mode                               | 0            |
| Ssl_version                                   |              |
| Subquery_cache_hit                            | 0            |
| Subquery_cache_miss                           | 13           |
| Syncs                                         | 525          |
| Table_locks_immediate                         | 13739200     |
| Table_locks_waited                            | 1            |
| Tc_log_max_pages_used                         | 0            |
| Tc_log_page_size                              | 0            |
| Tc_log_page_waits                             | 0            |
| Threadpool_idle_threads                       | 0            |
| Threadpool_threads                            | 0            |
| Threads_cached                                | 3            |
| Threads_connected                             | 1            |
| Threads_created                               | 1103         |
| Threads_running                               | 1            |
| Update_scan                                   | 0            |
| Uptime                                        | 1299621      |
| Uptime_since_flush_status                     | 1299621      |
+-----------------------------------------------+--------------+

Ее плохо читать. Чтобы это все было читабельно — можно воспользоваться утилитой mysqlreport.

Установка mysqlreport в Unix/Linux

Можно использовать данную утилиту на различный Unix/Linux ОС.

Если используете rpm’s ОС ( CentOS/Fedora/RedHat), то команда для установки ниже:

# yum install mysqlreport -y

так же, стоит установить библиотеку:

# yum install perl-DBD-mysql -y

Если используете deb’s ОС ( Debian/Ubuntu/Kali Linux/Mint), то команда для установки ниже:

# apt-get install mysqlreport -y

так же, стоит установить библиотеку:

# apt-get install libdbd-mysql-perl -y

Если используете MacOS X, то команда для установки ниже:

# brew install mysqlreport

PS: Для начала нужно установить BREW:

Установка Homebrew на Mac OS X

Для остальных Unix/Linux систем я не ставил ( не было нужды), но можно сделать клонирование и потом использовать:

# cd /usr/local/src && git clone https://github.com/daniel-nichter/hackmysql.com.git

На этом, установка закончена.

Использование mysqlreport в Unix/Linux

Для помощи, служит опция —help:

┌(captain-notes)─(✗)─(06:32 PM Sat Dec 24)
└─(/usr/local/src)─(0 files, 8.0Kb)─> mysqlreport --help
mysqlreport v3.5 Apr 16 2008
mysqlreport makes an easy-to-read report of important MySQL status values.

Command line options (abbreviations work):
   --user USER       Connect to MySQL as USER
   --password PASS   Use PASS or prompt for MySQL user's password
   --host ADDRESS    Connect to MySQL at ADDRESS
   --port PORT       Connect to MySQL at PORT
   --socket SOCKET   Connect to MySQL at SOCKET
   --no-mycnf        Don't read ~/.my.cnf
   --infile FILE     Read status values from FILE instead of MySQL
   --outfile FILE    Write report to FILE
   --email ADDRESS   Email report to ADDRESS (doesn't work on Windows)
   --flush-status    Issue FLUSH STATUS; after getting current values
   --relative X      Generate relative reports. If X is an integer,
                     reports are live from the MySQL server X seconds apart.
                     If X is a list of infiles (file1 file2 etc.),
                     reports are generated from the infiles in the order
                     that they are given.
   --report-count N  Collect N number of live relative reports (default 1)
   --detach          Fork and detach from terminal (run in background)
   --help            Prints this
   --debug           Print debugging information

Visit http://hackmysql.com/mysqlreport for more information.

┌(captain-notes)─(✓)─(06:32 PM Sat Dec 24)
└─(/usr/local/src)─(0 files, 8.0Kb)─> 

И так, рассмотрю несколько примеров:

# mysqlreport --user root --password

Или как у меня:

┌(captain-notes)─(✗)─(06:39 PM Sat Dec 24)
└─(/usr/local/src)─(0 files, 8.0Kb)─> mysqlreport --user root --host localhost --port 3306 --socket /var/lib/mysql/mysql.sock --password
Password for database user root: 
Use of uninitialized value in formline at /usr/bin/mysqlreport line 1099, <STDIN> line 1.
Use of uninitialized value $is in multiplication (*) at /usr/bin/mysqlreport line 829, <STDIN> line 1.
Use of uninitialized value in formline at /usr/bin/mysqlreport line 1227, <STDIN> line 1.
Use of uninitialized value in formline at /usr/bin/mysqlreport line 1235, <STDIN> line 1.
MySQL 10.0.28-MariaDB    uptime 15 1:3:50       Sat Dec 24 18:40:05 2016

__ Key _________________________________________________________________
Buffer used   330.00k of  32.00M  %Used:   1.01
  Current       6.10M            %Usage:  19.05
Write hit      56.03%
Read hit       99.90%

__ Questions ___________________________________________________________
Total          21.53M    16.6/s
  DMS          19.71M    15.2/s  %Total:  91.53
  -Unknown      6.32M     4.9/s           29.37
  QC Hits       5.91M     4.5/s           27.42
  Com_          2.04M     1.6/s            9.47
  COM_QUIT    204.75k     0.2/s            0.95
Slow 10 s           0       0/s            0.00  %DMS:   0.00  Log:
DMS            19.71M    15.2/s           91.53
  SELECT       15.28M    11.8/s           70.97         77.54
  UPDATE        3.83M     2.9/s           17.76         19.41
  INSERT      547.41k     0.4/s            2.54          2.78
  DELETE       54.49k     0.0/s            0.25          0.28
  REPLACE          27     0.0/s            0.00          0.00
Com_            2.04M     1.6/s            9.47
  set_option  629.58k     0.5/s            2.92
  show_fields 478.18k     0.4/s            2.22
  change_db   206.52k     0.2/s            0.96

__ SELECT and Sort _____________________________________________________
Scan            4.28M     3.3/s %SELECT:  28.03
Range         144.47k     0.1/s            0.95
Full join         185     0.0/s            0.00
Range check         0       0/s            0.00
Full rng join       0       0/s            0.00
Sort scan     104.93k     0.1/s
Sort range    194.17k     0.1/s
Sort mrg pass       0       0/s

__ Query Cache _________________________________________________________
Memory usage    9.15M of  32.00M  %Used:  28.58
Block Fragmnt  18.59%
Hits            5.91M     4.5/s
Inserts         8.94M     6.9/s
Insrt:Prune   15.47:1     6.4/s
Hit:Insert     0.66:1

__ Table Locks _________________________________________________________
Waited              1     0.0/s  %Total:   0.00
Immediate      13.74M    10.6/s

__ Tables ______________________________________________________________
Open              127 of  128    %Cache:  99.22
Opened         32.26k     0.0/s

__ Connections _________________________________________________________
Max used           42 of   80      %Max:  52.50
Total         204.77k     0.2/s

__ Created Temp ________________________________________________________
Disk table    541.63k     0.4/s
Table         674.13k     0.5/s    Size: 512.0M
File              102     0.0/s

__ Threads _____________________________________________________________
Running             1 of    1
Cached              3 of    4      %Hit:  99.46
Created         1.10k     0.0/s
Slow                0       0/s

__ Aborted _____________________________________________________________
Clients            30     0.0/s
Connects           51     0.0/s

__ Bytes _______________________________________________________________
Sent          437.02G  336.2k/s
Received        7.77G    6.0k/s

__ InnoDB Buffer Pool __________________________________________________
Usage         230.61M of 511.98M  %Used:  45.04
Read hit      100.00%
Pages
  Free         18.01k            %Total:  54.96
  Data         14.64k                     44.67 %Drty:   0.29
  Misc            121                      0.37
  Latched                                  0.00
Reads           1.13G   870.6/s
  From file     7.58k     0.0/s            0.00
  Ahead Rnd         0       0/s
  Ahead Sql                 0/s
Writes         26.66M    20.5/s
Flushes         8.50M     6.5/s
Wait Free           0       0/s

__ InnoDB Lock _________________________________________________________
Waits            3064     0.0/s
Current             0
Time acquiring
  Total         30954 ms
  Average          10 ms
  Max            1921 ms

__ InnoDB Data, Pages, Rows ____________________________________________
Data
  Reads         9.38k     0.0/s
  Writes       13.23M    10.2/s
  fsync         5.19M     4.0/s
  Pending
    Reads           0
    Writes          0
    fsync           0

Pages
  Created      10.27k     0.0/s
  Read          8.79k     0.0/s
  Written       8.50M     6.5/s

Rows
  Deleted     266.44k     0.2/s
  Inserted    532.24k     0.4/s
  Read        612.95M   471.6/s
  Updated       4.00M     3.1/s

Вот и все, тема «Вывод всей статистики MySQL/MariaDB с mysqlreport » завершена.

The post Вывод всей статистики MySQL/MariaDB с mysqlreport first appeared on linux-notes.org.]]>
https://linux-notes.org/vy-vod-vsej-statistiki-mysql-mariadb-s-mysqlreport/feed/ 0
Page_c76a3fcf https://linux-notes.org/sozdanie-bekapa-mysql-mariadb-udalenno-cherez-ssh-v-unix-linux/ https://linux-notes.org/sozdanie-bekapa-mysql-mariadb-udalenno-cherez-ssh-v-unix-linux/#comments Tue, 23 Jun 2015 23:02:35 +0000 http://linux-notes.org/?p=6453 Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux В своей теме «Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux» хочу рассказать как можно сдеалать бекап баз данных MySQL/MariaDB удаленно через SSH в Unix/Linux. Вопрос: Я хочу создать резервную копию баз данных MySQL (MariaDB) с удаленного сервере. Есть ли способ для резервного копирования базы данных (MariaDB) с удаленного сервера […]

The post Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux first appeared on linux-notes.org.]]>

Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux

В своей теме «Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux» хочу рассказать как можно сдеалать бекап баз данных MySQL/MariaDB удаленно через SSH в Unix/Linux.

Вопрос:
Я хочу создать резервную копию баз данных MySQL (MariaDB) с удаленного сервере. Есть ли способ для резервного копирования базы данных (MariaDB) с удаленного сервера MySQL  с использованием SSH?

Ответ:
mysqldump это утилита командной строки для резервного копирования базы данных MySQL (MariaDB). Для того, чтобы создать резервную копию БД c удаленного сервера, вы можете отправить команду MySQLDump удаленно через SSH с использование «трубы» для вывода обратно на локальный компьютер. Для повышения эффективности, выход mysqldump можно сжат:

$ ssh -C your_remote_user@your_remote_host_OR_IP mysqldump -uYOUR-MYSQL-PASSWORD-FOR-USER -pYOUR-MYSQL-PASSWORD-FOR-USER YOUR_DB YOUR_DB | gzip -c | cat > ~/my_remote_backup.sql.gz

Кроме того, вы можете использовать команду SSH на удаленном хосте и перенаправить вывод ( создание дампа БД на другой сервер).

Вот команда:

# mysqldump -uYOUR-MYSQL-USER -pYOUR-MYSQL-PASSWORD-FOR-USER YOUR_DB | gzip -c | ssh your_local_username@your_local_host 'cat > ~/my_remote_backup.sql.gz'

Я часто добавляю на такие большие команды ( чтобы постоянно не вводить их, алиасы). И сейчас покажу как это можно сделать:

# vim ~/.bashrc

И добавляю следующий код:

[...]
#Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux
alias create-mysql-backup-remote="mysqldump -uYOUR-MYSQL-USER -pYOUR-MYSQL-PASSWORD-FOR-USER YOUR_DB | gzip -c | ssh your_local_username@your_local_host 'cat > ~/my_remote_backup.sql.gz'"
[...]

После чего, стоит перезагрузить данный файл, чтобы вступили все изменения:

# source ~/.bashrc

Если не выдало никаких ошибок, то все хорошо и можно использовать данный алиас на команду. Это куда проще чем прописывать каждый раз данную команду.

PS: Будет работать в том случае, если у вас настроено подключение по SSH с использованием ключа. Если без, то будет запрашивать пароль от сервера.

А на этом все, статья «Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux» подошла к завершению.

The post Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/sozdanie-bekapa-mysql-mariadb-udalenno-cherez-ssh-v-unix-linux/feed/ 1
Page_c76a3fcf https://linux-notes.org/tyuning-mysql-baz-danny-h/ https://linux-notes.org/tyuning-mysql-baz-danny-h/#respond Mon, 15 Jun 2015 20:10:22 +0000 http://linux-notes.org/?p=6291 Тюнинг MySQL в Unix/Linux Запуск MySQL c оптимальными настройками для конкретных сервисов помогает сбалансировать работу при большой нагрузки на сервер и предотвращает замедление сервера. Тюнинг база данных — экспансивная тема, и это руководство «Тюнинг MySQL в Unix/Linux» поможет оптимизировать mysql. На моем готовом примере, покажу как это можно сделать. Утилиты Для того, чтобы определить, если ваша база данных MySQL должна быть […]

The post Тюнинг MySQL в Unix/Linux first appeared on linux-notes.org.]]>

Тюнинг MySQL в Unix/Linux

Запуск MySQL c оптимальными настройками для конкретных сервисов помогает сбалансировать работу при большой нагрузки на сервер и предотвращает замедление сервера.

Тюнинг база данных — экспансивная тема, и это руководство «Тюнинг MySQL в Unix/Linux» поможет оптимизировать mysql. На моем готовом примере, покажу как это можно сделать.

Утилиты
Для того, чтобы определить, если ваша база данных MySQL должна быть изменена, то лучше всего посмотреть, как ваши ресурсы выполняются в настоящее время. Это может быть выполнено с командой:

# echo [PID] [MEM] [PATH] && ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 20

и

# ps -eo pcpu,pid,user,args | sort -k 1 -r | head -20

MySQLTuner
Скрипт MySQLTuner оценивает вашу настройку MySQL, а затем выводит предложения для повышения производительности и стабильности вашего сервера.

Скачиваем MySQLTuner:

# cd /usr/local/src && wget http://mysqltuner.pl/ -O mysqltuner.pl

Запустите скрипт:

# perl /usr/local/src/mysqltuner.pl

It outputs your results:

>> MySQLTuner 1.4.0 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering
Please enter your MySQL administrative logiroot 
Please enter your MySQL administrative password: 
[!!] Currently running unsupported MySQL version 10.0.19-MariaDB
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +ARCHIVE +Aria +BLACKHOLE +CSV +FEDERATED +InnoDB +MRG_MyISAM 
[--] Data in MyISAM tables: 40M (Tables: 8)
[--] Data in InnoDB tables: 87M (Tables: 432)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 52)
[--] Data in MEMORY tables: 5M (Tables: 6)
[!!] Total fragmented tables: 26

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 12d 17h 25m 17s (12M q [11.016 qps], 157K conn, TX: 130B, RX: 5B)
[--] Reads / Writes: 69% / 31%
[--] Total buffers: 1.1G global + 11.3M per thread (80 max threads)
[OK] Maximum possible memory usage: 2.0G (32% of installed RAM)
[OK] Slow queries: 0% (3/12M)
[OK] Highest usage of available connections: 63% (51/80)
[OK] Key buffer size / total MyISAM indexes: 32.0M/949.0K
[OK] Key buffer hit rate: 100.0% (5M cached / 2K reads)
[OK] Query cache efficiency: 26.1% (2M cached / 10M selects)
[!!] Query cache prunes per day: 17574
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 134K sorts)
[!!] Temporary tables created on disk: 90% (350K on disk / 387K total)
[OK] Thread cache hit rate: 95% (6K created / 157K connections)
[!!] Table cache hit rate: 0% (128 open / 16K opened)
[OK] Open file limit used: 0% (11/8K)
[OK] Table locks acquired immediately: 99% (8M immediate / 8M locks)
[!!] Connections aborted: 24%
[OK] InnoDB buffer pool / data size: 512.0M/87.3M
[OK] InnoDB log waits: 0
-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
Temporary table size is already large - reduce result set size
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_open_cache gradually to avoid file descriptor limits
Read this before increasing table_open_cache over 64: http://bit.ly/1mi7c4C
Your applications are not closing MySQL connections properly
Variables to adjust:
query_cache_size (> 32M)
table_open_cache (> 128)

MySQLTuner предлагает улучшение относительно ваших баз данных.

Тюнинг MySQL
MySQLTuner является одним из самых безопасных способов улучшить производительность базы данных.

Файл, который вы изменение находится в /etc/mysql/my.cnf.

ПРИМЕЧАНИЕ! Перед обновлением конфигурации MySQL, рекомендую создать резервную копию файла my.cnf:

# cp /etc/mysql/my.cnf ~/my.cnf.backup

Лучшие делайте небольшие изменения чтобы контролировать сервер после каждого изменения. После каждого изменения перезапустить MySQL:

На Debian/Ubuntu:

# service mysql restart

На CentOS/Fedora:

# /etc/init.d/mysqld restart

Параметры. 

key_buffer
Изменение «key_buffer» влияет на выделение памяти для MySQL, может существенно ускорить базы данных, если у вас есть свободное память на сервере. Размер «key_buffer» как правило, должны занять не более 25% от системной памяти при использовании таблицы c MyISAM, и до 70% для InnoDB. Если значение слишком высокое, то ресурсы тратятся  впустую. Согласно документации MySQL, сервера с 256 МБ оперативной памяти (или больше) -рекомендуется устанавливать 64M , если сервера имеют 128 Мб ОЗУ и меньше, то используется 16M, значения по умолчанию.

max_allowed_packet
Максимальный размер пакета который может быть отправлен. Если вы знаете, что ваш сервер MySQL будет выполнять обработку больших пакетов, то лучше поднять этот параметр. Если это значение установлено слишком маленьким, вы получите сообщение об ошибке в лог-журнале.

thread_stack
Это значение содержит размер стека для каждого потока. MySQL считает значения переменной thread_stack по умолчанию, достаточной для нормального использования; Однако, если возникает ошибка, относящаяся к thread_stack, то данный параметр может быть увеличен.

thread_cache_size
Если thread_cache_size -выключен (установлен в 0), то все новые соединения, создают нужен новый поток, созданный для них и когда соединения завершается, то нить разрушается. В противном случае, это значение задает количество неиспользованных потоков для сохранения в кэше, пока они не должны быть использованы для соединения. Вообще этот параметр мало влияет на производительность, если вы не получаете сотни соединений в минуту, при которых время это значение должно быть поднято для больших соединений которые делаются на кэшированных потоков.

max_connections
Устанавливает максимальное количество одновременных подключений. Лучше рассмотреть максимальное количество подключений. Обратите внимание, что это не означает, что это будет максимальное количество пользователей на вашем сайте в одно время, но это максимальное количество пользователей, делающих запросы одновременно.

table_cache
должен быть больше, чем значение open_tables. Чтобы определить это значение использования:

SHOW STATUS LIKE 'open%';

Вот некоторые решения.

Тюнинг выдал рекомендацию:

Run OPTIMIZE TABLE to defragment tables for better performance

Чтобы это исправить, используем:

$ mysqlcheck -uroot -p --optimize --all-databases

 Вот и все, тема «Тюнинг MySQL в Unix/Linux» завершена. 

The post Тюнинг MySQL в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/tyuning-mysql-baz-danny-h/feed/ 0
Page_c76a3fcf https://linux-notes.org/ustanovka-r1soft-cdp-agent-na-debian-ubuntu/ https://linux-notes.org/ustanovka-r1soft-cdp-agent-na-debian-ubuntu/#respond Sun, 04 Jan 2015 17:09:37 +0000 http://linux-notes.org/?p=4230 Установка R1Soft CDP Agent на Debian/Ubuntu Сейчас я расскажу в своей теме «Установка R1Soft CDP Agent на Debian/Ubuntu» как можно установить CDP клиент для работы R1Soft. Установка очень простая. R1Soft является утилитой для быстрого бекапа\рестора как отдельной БД или файла, так и целого сервера целиком. Данная фирма занимается в области непрерывной защиты данных, на основе дисков […]

The post Установка R1Soft CDP Agent на Debian/Ubuntu first appeared on linux-notes.org.]]>

Установка R1Soft CDP Agent на Debian/Ubuntu

Сейчас я расскажу в своей теме «Установка R1Soft CDP Agent на Debian/Ubuntu» как можно установить CDP клиент для работы R1Soft. Установка очень простая.

R1Soft является утилитой для быстрого бекапа\рестора как отдельной БД или файла, так и целого сервера целиком. Данная фирма занимается в области непрерывной защиты данных, на основе дисков оперативного резервного копирования, аварийного восстановления на «голое железо», а так же восстановления серверов Windows, и Linux.

Добавим репозиторий для работы с r1soft:

# echo deb http://repo.r1soft.com/apt stable main >> /etc/apt/sources.list
# wget http://repo.r1soft.com/r1soft.asc
# apt-key add r1soft.asc
# apt-get update

После этого, можно установить сам клиент:

# apt-get install r1soft-cdp-enterprise-agent

Чтобы все нормально работало нжно еще установить linux-header:

# apt-get install linux-headers-`uname -r`

Скачиваем HCP драйвер:

# r1soft-setup --no-binary

Устанавливаем public ключ:

# r1soft-setup --get-key [Server_URL]

Например:

# r1soft-setup --get-key http://199.16.25.206

Должен создаться SSl ключ для подключение к серверу, Вы его можете посмотреть:

# cat /usr/sbin/r1soft/conf/server.allow/199.116.255.206

Смотрим чтобы не было никаких ошибок:

# tail /usr/sbin/r1soft/log/cdp.log

Если установлен фаервол (IPtables), то нужно добавить правило:

# iptables -I INPUT -p tcp --dport 1167 -j ACCEPT

Установка R1Soft CDP Agent на RedHat/CentOS/Fedora

Установка R1Soft CDP Agent на Debian/Ubuntu завершена. Теперь идем на сервер, подключаемся и нужно добавить все остальное в графическом виде.

The post Установка R1Soft CDP Agent на Debian/Ubuntu first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-r1soft-cdp-agent-na-debian-ubuntu/feed/ 0
Page_c76a3fcf https://linux-notes.org/ustanovka-percona-xtradb-cluster/ https://linux-notes.org/ustanovka-percona-xtradb-cluster/#comments Tue, 16 Dec 2014 12:57:43 +0000 http://linux-notes.org/?p=4236 Установка Percona XtraDB Cluster Percona XtraDB Cluster (PXC) является кластером с высокой доступностью и высокой масштабируемостью, решение для MySQL кластеризации. Percona сервера, Percona XtraBackup и Galera library служит для обеспечения высокой доступности объединеных друг с другом серверов, как PXC. Это обеспечивает синхронную, Multi-Master и параллельную репликации. Все узлы (nodes) этого кластера готовы работать и отвечать на запросы чтение / […]

The post Установка Percona XtraDB Cluster first appeared on linux-notes.org.]]>

Установка Percona XtraDB Cluster

Percona XtraDB Cluster (PXC) является кластером с высокой доступностью и высокой масштабируемостью, решение для MySQL кластеризации. Percona сервера, Percona XtraBackup и Galera library служит для обеспечения высокой доступности объединеных друг с другом серверов, как PXC. Это обеспечивает синхронную, Multi-Master и параллельную репликации. Все узлы (nodes) этого кластера готовы работать и отвечать на запросы чтение / запись одновременно. Сейчас, я хотел бы написать данную статью «Установка Percona XtraDB Cluster» в виде заметки.

ВМ используется для тестирования. Здесь я использовал 1 виртуальную машину с ОС — CentOS и 2 виртуальной машины с Ubuntu. В реальном мире не смешивайте различные ОС в кластер. Это только для тестовых целей. Все узлы должны быть с единой ОС и той же конфигурации аппаратных средств / программного обеспечения.

И так, у меня имеется:

CentOS19        97.79.237.19           node1
CentOS16        97.79.237.16           node2
Ubuntu17        97.79.237.17           node3

Добавление репозитория для необходимой ОС.

Проверим какая у нас разрядность:

# uname -a

Centos/Redhat 32 бит (i386):

# yum install http://www.percona.com/downloads/percona-release/percona-release-0.0-1.i386.rpm

Centos/Redhat 64 бит (x86_x64):

# yum install http://www.percona.com/redir/downloads/percona-release/percona-release-0.0-1.x86_64.rpm

Установка PXC (кластера на перкона):

# yum install Percona-XtraDB-Cluster-56

Иногда требуется установка socat.
Для начала подключаем репозиторий EPEL и после чего выполняем:

$ yum install socat
$ yum install Percona-XtraDB-Cluster-56

Проверим работает ли mysql:

# ps -ef | grep mysql

root     22706 19675  0 08:17 pts/0    00:00:00 grep mysql

Так же можно установить на Debian/Ubuntu:

1. Способ.
Для начала добавляем клюк с репозиторием:

$ sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

Нужно добавить в файл /etc/apt/sources.list репозиторий:

# vim /etc/apt/sources.list

Добавляем:

[...]
deb http://repo.percona.com/apt raring main
deb-src http://repo.percona.com/apt raring main
[...]

Обновляем локальный кеш:

$ sudo apt-get update

Устанавливаем PXC:

$ sudo apt-get install percona-xtradb-cluster-56

Проверяем:

$ ps -ef | grep mysql

2. Способ.
Скачиваем готовые пакеты:

# cd /usr/local/src
# wget http://www.percona.com/redir/downloads/percona-release/debian/percona-release_0.1-3.squeeze_all.deb

или

# wget http://www.percona.com/redir/downloads/percona-release/debian/percona-release_0.1-3.wheezy_all.deb

После чего устанавливаем. Мне на данный момент не сильно это нужно было, по этому я рассказал и собрал материал в кучу ( если понадобится попозже, я переделаю и дополню данную статью). Если есть вопросы, пишите, я попробую помочь.

MySQL Config: node1

[root@Centos19 ~]# mysql -uroot -p

mysql@percona1> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'your_passwd_for_user_sstuser';
mysql@percona1> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
mysql@percona1> FLUSH PRIVILEGES;

и

[root@Centos19 ~]# vim /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql
user=mysql

# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so

# Cluster connection URL contains the IPs of node#1, node#2 and node#3
#wsrep_cluster_address = gcomm://97.79.237.19,97.79.237.16,97.79.237.17
wsrep_cluster_address = gcomm://

#In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2

# Node #1 address
wsrep_node_address=97.79.237.19

# SST method
wsrep_sst_method=xtrabackup-v2

# Cluster name
wsrep_cluster_name=PXC

# Authentication for SST method
wsrep_sst_auth="sstuser:your_passwd_for_user_sstuser"

wsrep_cluster_address = gcomm:// — это строка, которая говорит нам что мы пытаемся создать кластер и 1-й инодой, потом мы добавим еще другие ноды. Но для начала нужно именно так!

wsrep_provider = /usr/lib/libgalera_smm.so — это путь где лежит библиотека для 32 битной ОС

wsrep_provider = /usr/lib64/libgalera_smm.so — это путь где лежит библиотека для 64 битной ОС

По этому в зависимости от розрядности вашей ОС поправьте путь, у меня х64 бит.

Начальная загрузка кластера:

[root@Centos19 ~]# /etc/init.d/mysql bootstrap-pxc
запуск node на percona cluster

запуск node на percona cluster

mysql> show global status like '%wsrep_cluster%';

смотрим статус кластера

MySQL Config: node2

root@CentOS16:~# vim /etc/my.cnf

Прописываем:

# Percona Cluster config file
[mysqld]

datadir=/var/lib/mysql
user=mysql

# Cluster name
wsrep_cluster_name = PXC

# Path to Galera library
wsrep_provider = /usr/lib64/libgalera_smm.so

# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address = gcomm://97.79.237.19,97.79.237.16,97.79.237.17

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2

# Node #2 address
wsrep_node_address = 97.79.237.16

# SST method
wsrep_sst_method=xtrabackup-v2

# Authentication for SST method
wsrep_sst_auth="sstuser:your_passwd_for_user_sstuser"

Запускаем Mysql в кластере:

root@CentOS16:~# /etc/init.d/mysql start

Выводим статус кластера:

# mysql -uroot -p
mysql> show global status like '%wsrep_cluster%';

2 ноды в кластере

MySQL Config: node3

root@Ubuntu17:~# vim /etc/mysql/my.cnf

Прописываем:

# Percona Cluster config file
[mysqld]

datadir=/var/lib/mysql
user=mysql

# Cluster name
wsrep_cluster_name = PXC

# Path to Galera library
wsrep_provider = /usr/lib64/libgalera_smm.so

# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address = gcomm://97.79.237.19,97.79.237.16,97.79.237.17

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2

# Node #3 address
wsrep_node_address = 97.79.237.17

# SST method
wsrep_sst_method=xtrabackup-v2

# Authentication for SST method
wsrep_sst_auth="sstuser:your_passwd_for_user_sstuser"

Запускаем кластер:

root@Ubuntu17:~# /etc/init.d/mysql start

Проверяем статус кластера:

mysql> show global status like '%wsrep_cluster%';

3 ноды на кластера percona

После этого, идем на node1 (самый первый сервер) и меняем строчку:

# vim /etc/my.cnf

Ищем:

wsrep_cluster_address = gcomm://

Меняем на:

wsrep_cluster_address = gcomm://97.79.237.19,97.79.237.16,97.79.237.17

После чего перезапускаем сервер с первой нодой:

# service mysql restart

Выполняем тест репликации:

root@CentOS16:~# mysql -e "create database testing"
root@CentOS16:~# mysql -e "create table testing.city (id int, cname varchar(20));"
root@Ubuntu17:~# mysql -e "insert into testing.city values (1,'Hyderabad')"

Проверим статус кластера и поглядим, работате ли все нормально:

[root@Centos19 ~]# mysql -e "show global status like '%wsrep_cluster%';"

все ноды в кластере на перкона

[root@Centos19 ~]# mysql -e "select * from testing.city"

И должна вывести столбцы данной базы (testing).

Удаление Percona Cluster

Чтобы удалить перкону, стоит выполнить команду:

# yum remove Percona-XtraDB-Cluster*
# yum remove percona*
# yum remove mysql55w-libs

Приведенный выше пример показывает, что все узлы в кластерах синхронизированы и работают, как ожидается.

Вывод:

Percona XtraDB кластера является хорошим инструментом для обеспечения высокой нагрузки. Percona сервера, Percona XtraBackup и Galera Cluster объединены друг с другом. Выключите несколько узлов и посмотрите, как можно их восстановить.

Вот и все, я завершил «Установка Percona XtraDB Cluster», проверялось на 3 нодах с CentOS. Очень доволен данным кластером.

The post Установка Percona XtraDB Cluster first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-percona-xtradb-cluster/feed/ 13