SQL Server Security Best Practices - Евгений НедашковскийHackIT Ukraine
Презентация с форума http://hackit-ukraine.com/
Евгений Недашковский
Старший администратор БД в AltaReturn.
SQL Server Security Best Practices
О спикере: Работает с MS SQL Server более пяти лет. Среди предыдущих мест работы присутствуют такие гиганты как УкрАВТО, Укртелеком и КПМГ Украина. Евгений специализируется на высоконагруженных кластеризированных корпоративных системах. Ему есть что рассказать о особенностях работы с базами данных в большом энтерпрайзе как со стороны производительности, так и со стороны безопасности.
SQL Server Security Best Practices - Евгений НедашковскийHackIT Ukraine
Презентация с форума http://hackit-ukraine.com/
Евгений Недашковский
Старший администратор БД в AltaReturn.
SQL Server Security Best Practices
О спикере: Работает с MS SQL Server более пяти лет. Среди предыдущих мест работы присутствуют такие гиганты как УкрАВТО, Укртелеком и КПМГ Украина. Евгений специализируется на высоконагруженных кластеризированных корпоративных системах. Ему есть что рассказать о особенностях работы с базами данных в большом энтерпрайзе как со стороны производительности, так и со стороны безопасности.
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesArtur Baranok
Основные аспекты управления веб-проектом в Microsoft Azure Websites. Cоздание сайта из коллекции веб-приложений, выбор СУБД, средства развертывания, сервис Kudu, привязка собственного домена, использование HTTPS. Артур Баранок, Azure MVP
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...Andrey Taritsyn
Возможно, многие из вас уже слышали или читали о модульном расширении для Microsoft ASP.NET Web Optimization Framework — Bundle Transformer. Обычно я рассказываю о данном продукте на примере ASP.NET MVC, но в этот раз я решил поступить по-другому и построил свой доклад на примере использования Bundle Transformer на сайте ASP.NET Web Pages.
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)Ontico
В MySQL 5.7 появился целый ряд новых возможностей, позволяющих использовать MySQL в приложениях и как хранилище JSON-документов, и как реляционную базу данных.
В этом докладе мы расскажем о поддержке JSON в MySQL 5.7, а также поговорим о том, когда имеет смысл её использовать, и насколько хорошо она работает. Кроме того, мы остановимся на новом протоколе доступа к MySQL, поддерживающем SQL. Помимо этого, мы рассмотрим CRUD-операции и такие дополнительные функции, как асинхронная коммуникация и пайплайнинг (pipelining).
В заключительной части доклада мы расскажем о возможностях MySQL 5.7 в качестве хранилища документов.
JavaScript-модули "из прошлого в будущее"oelifantiev
Доклад на первом Ярославском форнтэнд-митапе.
Рассказ об имеющихся методиках описания модулей в JavaScript а также о грядущем стандарте ES6 и, наконец-то, нативной поддержке модулей языком.
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Ontico
Оптимизация любого веб-приложения — это нетривиальная задача, для решения которой требуется проводить мониторинг загрузки системных ресурсов, выполнять микро-вэнчмаркинг, экспериментировать с настройками, проводить нагрузочное тестирование и т.д.
В текущем году нашей команде довелось поучаствовать в нескольких проектах, в которых перед нами стояла задача оптимизации J2EE веб-приложений. Один из них — портал для ОАО «Сбербанк России» (www.sberbank.ru).
Основной сайт Сбербанка реализован на основе портального движка BackBase и является J2EE-приложением. При проведении оптимизации его работы нам пришлось изучить и собрать много информации и документов, которые связаны с настройкой и оптимизацией высоконагруженных веб-приложений.
В ходе реализации проектов я заметил, что не существует сводного документа с инструкциями по оптимизации работы приложения, поэтому решил поделиться нашим опытом. Этот доклад может послужить в качестве дорожной карты (Road Map) для настройки и оптимизации J2EE веб-приложений.
В докладе будут рассмотрены следующие аспекты:
1) Общие подходы и методология оптимизации веб-приложения.
2) Оптимизация настроек веб-сервера.
3) Оптимизация кода приложения на стороне клиента.
4) Оптимизация на стороне middleware, в том числе на сервере приложений.
5) Оптимизация на уровне Базы Данных.
Primul pas de gestionare server este optinerea informatiei necesare din sistem de operare. In aceasta prezentare se vorbeste despre instrumente de acces la informatie in SO WIndows, Linux.
2. Содержание
Базы данных, часто используемые при Web разработке
Установка MySQL в ОС Linux
Установка MySQL в ОС Windows
Настройка MySQL
Взаимодействие с сервером MySQL через командную строку
◦ Приложения MySQL
◦ Типовые сценарии
3. Базы данных, часто используемые при
Web разработке
Название тип Лицензия Версия Дата выпуска Ссылка
SQLite SQL Free 3.22.0 2018-01-22 https://www.sqlite.org
MySQL SQL GPL /
proprietary
5.7.21 2018-01-15 https://www.mysql.com
MariaDB SQL GPL 10.2.13 2018-02-13 https://mariadb.org
PostgreSQL SQL Free 10.2 2018-02-08 https://www.postgresql.org
MS SQL SQL Proprietary 2017 2017-10-02 http://www.microsoft.com/sqlserver/
Oracle DB SQL proprietary 12.2.0.1 2017-03-01 http://oracle.com/database
MongoDB NoSQL GPL /
Apache
3.6.3 2018-02-23 https://www.mongodb.com/
RethinkDB NoSQL Apache 2.3.6 2017-07-17 https://rethinkdb.com
4. Установка MySQL в ОС Linux
Процедура установки типична для любого приложения OS Linux
◦ apt-get update
◦ apt-get upgrade
◦ apt-get install mysql-server
◦ apt-get install mysql-client
После установки сервера БД необходимо сменить пароль администратора
(для версии > 5.7)
◦ mysql -u root
◦ UPDATE mysql.user SET authentication_string=PASSWORD('<новый пароль>'), plugin='mysql_native_password' WHERE
User='root' AND Host='localhost';
◦ FLUSH PRIVILEGES;
6. Установка MySQL в ОС Windows
Скачать инсталлятор с официального сайта.
Запустить.
Выбрать нужные компоненты и установить
пароль администратора.
Выпить чашечку кофе…
… еще выпить кофе.
Установщик MySQL может потребовать
наличия Microsoft Framework .Net!
7. Взаимодействие с сервером MySQL:
Приложения MySQL
mysqld – сервер (демон) MySQL.
mysql – простой клиент SQL, поддерживающий интерактивный и автономный режимы работы.
С большинством приложений MySQL можно взаимодействовать через этого клиента.
mysqladmin – приложение для выполнения операций администратора БД (создание баз
данных, управление пользователями и правами доступа).
mysqlcheck / myisamchk – приложения для проверки целостности и исправления ошибок баз
данных. Mysqlcheck используется при запущенном сервере, myisamchk – при остановленном
сервере.
mysqldump – вывод базы данных в формате SQL. Часто используется для создания резервных
копий.
mysqlimport – приложение для импорта данных из текстовых файлов в соответствующие базы
данных / таблицы.
8. Настройка MySQL
Конфигурационный файл MySQL эквивалентен ключам, с которыми запускаются
приложения.
[group] – объявление секции параметров, group это имя приложения или группы к
которым относятся эти параметры.
key – эквивалентно записи --key в командной строке.
key=value – эквивалентно записи --key=value в командной строке. В конфигурационном
файле ключ, знак равенства и значение можно отделять любым количеством пробелов.
# или ; - начало строки комментария.
9. Настройка MySQL (пример)
[mysqld]
# указание пути к базе данных
datadir=/usr/local/mysql/var
# MySQL по умолчанию работает по порту 3306
port=3306
# Способ представления данных. Более подробно SHOW ENGINES;
default_storage_engine=InnoDB
# журнал сообщений об ошибках
log_error=/var/tmp/mysql_error.log
# журнал общего назначения и медленных запросов
log_output=/var/tmp/mysql_general.log
# разрешение подключения с указанного адреса (0.0.0.0 – с любого)
bind_address=127.0.0.1
character_set_server = utf8
collation_server=utf8_general_ci
10. Настройка MySQL (пример)
[client]
# максимально допустимый размер пакета
max_allowed_packet = 8M
default_character_set=utf8
[mysql]
# максимально допустимый размер пакета
max_allowed_packet = 16M
default_character_set=utf8
11. Взаимодействие с сервером MySQL:
Типовые сценарии
; восстановление пароля
# service mysqld stop
# mysqld_safe --skip-grant-tables &
# mysql
# mysql> UPDATE mysql.user SET authentication_string=PASSWORD('<новый пароль>'),
plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
# mysql> FLUSH PRIVILEGES;
# mysql> q
# service mysqld start
12. Взаимодействие с сервером MySQL:
Типовые сценарии
Создание резервной копии базы данных:
◦ mysqldump -u <user> -p <database> > dump.sql
◦ mysqldump -u <user> -p <database> | gzip > dump.sql.gz
Создание копии структуры базы данных:
◦ mysqldump --no-data -u <user> -p <database> > dump.sql
Создание базы данных:
◦ mysqladmin -u <user> -p create <database_name>
Восстановление базы данных из копии:
◦ mysql -u <user> -p <database> < dump.sql
Восстановление базы данных в интерактивном режиме:
◦ mysql> use <database>;
mysql> source <database>.sql
13. Взаимодействие с сервером MySQL:
Типовые сценарии
Список пользователей базы данных:
◦ mysql> SELECT User,Host FROM mysql.user;
Права пользователя root:
◦ mysql> SHOW GRANTS FOR root@localhost;
Установка пароля root:
◦ mysqladmin -uroot password <password>
Список баз данных:
◦ mysql> SHOW DATABASES;
Проверка базы данных на ошибки
◦ mysqlcheck -p <dbname>
Восстановление и оптимизация всех баз данных:
◦ mysqlcheck -Aor -p