Янв 052013
 

Export(Экспорт) MySQL в Excel реализация на PHP

Однажды мне понадобилось записать данные из базы данных MySQL в Microsoft Excel используя PHP скрипт.
Сейчас я продемонстрирую вам код который в дальнейшем поможет Вам.

<?php
mysql_connect(“localhost”,”root”,”root”);
mysql_select_db(“employee”);
$qry_data=mysql_query(“SELECT * FROM personal ORDER BY nip”);

function xlsBOF() {
echo pack(“ssssss”, 0×809, 0×8, 0×0, 0×10, 0×0, 0×0);
return;
}
function xlsEOF() {
echo pack(“ss”, 0x0A, 0×00);
return;
}
function xlsBuatBaris($data, $Col, $Value) {
echo pack(“sssss”, 0×203, 14, $data, $Col, 0×0);
echo pack(“d”, $Value);
return;
}
function xlsBuatLabel($data, $Col, $Value ) {
$L = strlen($Value);
echo pack(“ssssss”, 0×204, 8 + $L, $data, $Col, 0×0, $L);
echo $Value;
return;
}
header(“Pragma: public”);
header(“Expires: 0″);
header(“Cache-Control: must-revalidate, post-check=0, pre-check=0″);
header(“Content-Type: application/force-download”);
header(“Content-Type: application/octet-stream”);
header(“Content-Type: application/download”);;
header(“Content-Disposition: attachment;filename=employee.xls “);
header(“Content-Transfer-Encoding: binary “);

xlsBOF();

xlsBuatLabel(0,0,”DAFTAR DATA PRIBADI”);

xlsBuatLabel(2,0,”NIP”);
xlsBuatLabel(2,1,”NAMA”);
xlsBuatLabel(2,2,”ALAMAT”);
xlsBuatLabel(2,3,”KELAMIN”);
xlsBuatLabel(2,4,”TGL LAHIR”);

$xlsRow = 3;

while($data=mysql_fetch_array($qry_data)){
xlsBuatBaris($xlsRow,0,$data['nip']);
xlsBuatLabel($xlsRow,1,$data['nama']);
xlsBuatLabel($xlsRow,2,$data['alamat']);
xlsBuatLabel($xlsRow,3,$data['kelamin']);
xlsBuatLabel($xlsRow,4,$data['tgl_lahir']);

$xlsRow++;
}

xlsEOF();
exit();
?>
Янв 052013
 

Как сделать beckup для mysql database windows

Сейчас я вам покажу как сделать beckup для mysql database в windows. Для начала откройте cmd в windows.
Пуск -> Выполнить -> cmd

Путь к командам MySQL, указан из текущей конфигурации. В каждом случае он может быть иным. Вам необходимо найти команду mysqldump.exe
C:\Program Files\mysql\bin\mysqldump.exe -uroot -ppassword namedatabase > C:\temp\ws-dump

Вместо пользователя root MySQL, вы можете заменить на ваше имя пользователя и так же поступить и с полем password, заменить пароль и изменить имя вашей базы данных, если все поля вы ввели правильно, то операция будет выполнена успешно, база данных MySQL отправится в C:\temp\ws-dump

Янв 052013
 

Сброс привилегий для MySQL root аккаунта windows, unix, debian, freebsd, centos

Я работал с HeidiSQL фронт-енд для MySQL и каким-то образом удалось удалить все привилегии из базы данных root аккаунта во время редактирования других учетных записей пользователей. Само собой разумеется, ни один из других аккаунтов не имел доступ к административной части MySQL.

Как восстановить доступ к MySQL root аккаунту

К счастью, MySQL предоставляет возможность обойти привилегии для всех учетных записей пользователей, как необходимо в таких ситуациях. Вот шаги, чтобы включить этот параметр:

1. Перейдите в папку установки MySQL.
Возможный путь к MySQL серверу

Windows:
C:/Program Files/MySQL/MySQL Server 5.1
Debian:
/etc/mysql/
FreeBSD:
/var/db/mysql
CentOS:
/etc

Нахождение конфигурационного файла может отличатся.

2. Откройте файл my.ini в вашем текстовом редакторе
В некоторых версиях MySQL этот файл называется my.cnf

3. В [mysqld] данного файла добавьте следующие строки:

skip-grant-tables

4. Перезапустите сервер MySQL, допустим в Service Manager в Windows.

Теперь Вы сможете войти на сервер MySQL с помощью любой из ваших учетных записей, в том числе и root аккаунт. Воспользовавшись вашим любимым инструментом для исправления привилегий таблицы, исправьте root или добавить другие учетные записи пользователей по мере необходимости.

Сен 192012
 

MySQL: Файлы mysql-bin.0000 Бинарные логи

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

Обратите внимание на файлы mysql-bin.000000 mysql-bin.000001 mysql-bin.000002 и т.д., они могу весить гигабайты.

Это — бинарные лог файлы для организации репликации СУБД.
Если вы используете репликации, то данная функция вам нужна. Но если не используете я советую вам ее выключить.
Для отключения функции, правильно это сделать так:
1. В конфиге MySQL комментируем строку my.cnf
log-bin=mysql-bin
2. И с правами root в mysql выполняем
RESET MASTER;

Благодаря этому оптимизируется работа MySQL, и он работает гораздо быстрее, и вы экономите место на диске.

Янв 142012
 

Восстановление отозванного сертификата openvpn

OpenSSL хранит статус каждого сертификата в ${CATOP}/index.txt, для OpenVPN это easy-rsa/keys/index.txt. На основе этого файла генерируется CRL (certificate revocation list).

Так выгялядят рабочий и отозванный сертификаты:
V       201120070444Z           22      unknown /C=RU/ST=Ru/L=Belgorod/O=FIT/CN=goodboy/emailAddress=admin@fabit.ru
R       201217190136Z   110830061053Z   23      unknown /C=RU/ST=Ru/L=Belgorod/O=FIT/CN=hmmboy/emailAddress=admin@fabit.ru
Для восстановления отозванного сертификата нужно отредактировать это файл. Заменить в строке соответствующей отозванному сетификату R на V и удалить третий столбец (это дата отзыва). Колонки разеделены табуляций, если нарушить это разделение, то можно похерить CA. Поэтому никаких пробелов и MS Word’ов.
После сохранения изменений нужно перегенерировать CRL. Возможно есть более гуманные способы, но приведенный ниже занял меньше всего времени по его поиску и возможности повторого использования. Скрипт revoke-full перегененрирует CRL, скопируем его в crl-regen и закомментируем строки ответственные за отзыв сертификата.
#!/bin/bash
CRL="crl.pem"
RT="revoke-test.pem"

#if [ $# -ne 1 ]; then
#    echo "usage: revoke-full <cert-name-base>";
#    exit 1
#fi

if [ "$KEY_DIR" ]; then
    cd "$KEY_DIR"
    rm -f "$RT" 

    # set defaults
    export KEY_CN=""
    export KEY_OU=""
    export KEY_NAME=""

#    # revoke key and generate a new CRL
#    $OPENSSL ca -revoke "$1.crt" -config "$KEY_CONFIG" 

    # generate a new CRL -- try to be compatible with
    # intermediate PKIs
    $OPENSSL ca -gencrl -out "$CRL" -config "$KEY_CONFIG"
    if [ -e export-ca.crt ]; then
        cat export-ca.crt "$CRL" >"$RT"
    else
        cat ca.crt "$CRL" >"$RT"
    fi

#    # verify the revocation
#    $OPENSSL verify -CAfile "$RT" -crl_check "$1.crt"
else
    echo 'Please source the vars script first (i.e. "source ./vars")'
    echo 'Make sure you have edited it to reflect your configuration.'
fi
Далее через скрипт list-crl можно поглядеть на отсутствие сертификата в списке отозванных. Так же помним о необходимости установить переменные среды через vars.