Дата: 2015-06-07 12:29:23
Комментариев: 0
Если возникают ошибки такого рода:
2015-06-07 12:15:37 23155 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)
2015-06-07 12:15:37 23155 [Warning] Buffered warning: Changed limits: max_connections: 214 (requested 500)

...

Читать далее

теги: mysql
 Дата: 2010-09-28 00:10:00
Комментариев: 0
Если на вашем удаленном сервере есть сервисы, которые доступны только локально и доступ из вне закрыт в целях безопасности и необходимо получить к ним доступ, то всё достаточно просто, с помощью port forwarding (перенаправление портов) получим доступ к удаленным сервисам через ssh.
Для примера, чтобы получить доступ к удаленной Mysql, необходимо на локальном компе выполнить такую комманду:
Код:
ssh -L 9999:localhost:3306 user@xxx.xxx.xxx.xxx
, где 9999 -порт к которому мы будем обращатся на локальном машине,
3306 - удаленный порт mysql,
user - имя удаленного пользователя,
xxx.xxx.xxx.xxx - удаленный ip-адрес.
теги: ssh, mysql
 Дата: 2010-06-10 17:06:26
Комментариев: 1
Пара несложных скриптов для ежедневного бэкапа вашего сайта и базы данных. В скриптах есть переменная KEEP, которая показывает сколько копий хранить, при превышении будут удаляться старые бэкапы.
Сами скрипты:
$cat wwwbackup.sh
#!/bin/bash
dir="/var/www/";
# what directory or file to back up
cd ${dir}
 
if [[ $? != 0 ]]; then
   echo "Error: could not cd to ${dir}. No backup was created."
   exit 1;
fi;
 
KEEP=14
 
# dir to backup
DIR=/путь/до/папки
NOW=$(date +"%Y-%m-%d")
 
  BACKUPS=`find $DIR -name "www.*.tar.gz" | wc -l | sed 's/ //g'`
  while [ $BACKUPS -ge $KEEP ]
  do
    ls -tr1 $DIR/www.*.tar.gz | head -n 1 | xargs rm -f 
    BACKUPS=`expr $BACKUPS - 1` 
  done
 
  FILE=$DIR/www.$NOW-$(date +"%T").tar.gz
  tar -czf $FILE .
 
exit 0
 

...

Читать далее

теги: backup, mysql
 Дата: 2010-06-06 12:45:32
Комментариев: 0
Небольшой скрипт который поможет избавиться от рутины по добавлению пользователей и их баз данных:
$cat mysqladd
#!/bin/bash
: ${1?"Usage: $0 example.com"}
 
host=$1;
pass=`dd if=/dev/random bs=1 count=5 2>/dev/null | xxd -ps`;
rootpwd="рутовыйпароль";
 
echo "Создание пользователя..."
mysql -u root -p$rootpwd -e "CREATE USER '$host'@'%' IDENTIFIED BY '$pass' ;"
sleep 1
echo "Создание базы данныйх..."
mysql -u root -p$rootpwd -e "CREATE DATABASE `$host` ;"
sleep 1
echo "Настройка привелегий..."
mysql -u root -p$rootpwd -e "GRANT ALL PRIVILEGES ON `$host` . * TO '$host'@'%' ;"
 
cat > $host <<EOF
username: $host
passwd: $pass
EOF
 

Прописываем пароль от root и запускаем:
$ ./mysqladd example.ru

Таким образом создается пользователь example.ru и БД example.ru, также в файле example.ru будет содержаться пользовательский пароль.
Файлы:
mysqladd.tar.gz
mysqladd
теги: mysql
 Дата: 2010-04-27 18:12:51
Комментариев: 0
Завалялась без дела CompactFlash Kingston 133X на 16Gb. Подумал-подумал куда бы её прикрутить и решил поэкспериментировать и перенести базы mysql, которые, по умолчанию, лежат в /var/lib/mysql. Для начала отформатируем карту GParted'ом (Система→Администрирование→Gparted). В качестве файловой системы я выбрал reiserfs, так как она хорошо подходит, если очень много маленьких файлов. Там же в GParted'е запоминаем имя нашего устройства, в моем случае это /dev/sdf. Теперь примонтируем саму карту, для этого узнаем её UUID:
$ls -l /dev/disk/by-uuid/
lrwxrwxrwx 1 root root  10 2010-04-26 12:44 03c4ebcd-26b4-444c-96b4-52c5c3f565c8 -> ../../sdb1
lrwxrwxrwx 1 root root  10 2010-04-26 12:44 2dd50c29-8387-4bc2-9701-607f2aff9650 -> ../../sda1
lrwxrwxrwx 1 root root  10 2010-04-26 22:01 c8a8ed76-3c57-43b5-a2e3-ed397b92cc4e -> ../../sdf1
lrwxrwxrwx 1 root root  10 2010-04-26 12:44 cba09ef4-2baf-43b7-97ae-ad5f7754d81a -> ../../sda3
lrwxrwxrwx 1 root root  10 2010-04-26 12:44 ce373717-e845-451c-8364-bffd1b2e4fab -> ../../sda2
lrwxrwxrwx 1 root root  10 2010-04-26 20:57 d4287ad2-93b7-4d6f-8e42-730e6f3345b4 -> ../../sde1

Редактируем /etc/fstab и в конец файла добавляем:
$sudo nano /etc/fstab
UUID=c8a8ed76-3c57-43b5-a2e3-ed397b92cc4e /home/user/srv reiserfs relatime,noatime 0 1

Создайте папку там куда вы хотите монтировать раздел:
mkdir -p /home/user/srv

Монтируем:
$sudo mount -a

Теперь сам перенос базы mysql, для начала остановим сервис mysql:
$sudo service mysql stop

Редактируем конфигурационный файл mysql
$sudo gedit /etc/mysql/my.cnf

Находим строку datadir = /var/lib/mysql и меняем её на datadir = /home/user/srv/mysql
Переносим /var/lib/mysql в /home/user/srv/mysql и запускаем сервис mysql:
$sudo service mysql start

Также я перенёс и сам блог из /var/www в /home/user/srv/www/, для это в предыдущей статье нужно просто поменять пути на /home/user/srv/www и все.
теги: mysql
 Дата: 2010-04-27 00:08:14
Комментариев: 0
Попробуем ускорить выдачу страниц сайта, блога. Перво-наперво установим nginx как frontend для обработки статических файлов - это даст нам хороший прирост производительности.
1. Установка nginx

$sudo apt-get install nginx

2. Настройка nginx

$sudo gedit /etc/nginx/sites-available/default
server {
listen 80;
server_name site.ru;
access_log  /var/log/nginx/site.ru.access.log;
error_log /var/log/nginx/error.log;
 
location / {
root /var/www/;
index index.php index.html index.htm;
}
 
error_page  404  /404.html;
error_page   500 502 503 504  /50x.html;
error_page  403  /403.html;
 
location ~ .php {
proxy_pass http://127.0.0.1:8181;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

Создаем символьную ссылку в папку sites-enabled:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default

3. Перезапускаем nginx
$sudo /etc/init.d/nginx restart

4. Настраиваем apache
$sudo gedit /etc/apache2/ports.conf
NameVirtualHost *:8181
Listen 8181

$sudo gedit /etc/apache2/sites-available/default
<VirtualHost *:8181>
ServerAdmin admin@site.ru
DocumentRoot "/var/www/"
ServerName site.ru
ServerAlias www.site.ru
ErrorLog "/var/log/apache2/site.ru.error.log"
CustomLog "/var/log/apache2/site.ru.access.log" common
ErrorDocument 404 /404.html
ErrorDocument 500 /50x.html
ErrorDocument 502 /50x.html
ErrorDocument 503 /50x.html
ErrorDocument 504 /50x.html
</VirtualHost>

Снова делаем симлинк:

$sudo ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/default

5. Перезапускаем apache
$sudo apache2ctl restart

Если вы в своих скриптах используете информацию об IP-адресах посетителей, то вам необходимо будет установить модуль mod_rpaf.
$sudo apt-get install libapache2-mod-rpaf

Перезапускам модуль и апач:

$sudo a2enmod rpaf
$sudo apache2ctl restart

теги: apache, nginx, mysql