Главная > MySQL | PHP | Базы данных > Простой класс для работы с MySQL

Простой класс для работы с MySQL

12.02.2012 4 комментария » Просмотры: 2 341
 

Часто требуется, написать какой-нибудь простой скрипт, в котором требуется поддержка БД. И я заметил, что частенько пишу небольшие обертки, для более удобной работы..

Я не претендую на открытие чего-то уникального, но этот класс экономит время потраченное на написание одних и тех же функций:

Ну, и простейший пример использования:

Автор: | Теги:

Важно

У нас заработал ФОРУМ. Все вопросы, которые не касаются статьи, а так же вопросы по конкретно вашему случаю нужно задавать и обсуждать именно там, в разделе "Помощь пользователям".

4 комментария

Написать свой
  1. Виктор Ответить
    27.08.2013 в 10:15 дп
    Спасибо большое за такой отличный ответ)) Просто у меня проблема, уже руки опускаются(( Я устанавливая icpmaneger,nginx, fail2ban, zand, ioncub и т.д. После чего через несколько часов начинает кудато деваться память. В isp появляется ошибка что не хватает оперативной памяти. Виртуализация OpenVZ памяти 768Мб. Буду разбираться дальше. Я грешил на процесс mysql который на принтскрине. Думаю попробовать как написано у тебя в статье : "Linux, кто съел всю память?" Спасибо за блог, много чего полезного для себя узнал! И продолжаю узнавать)))
    • Vitaliy Orlov
      Vitaliy Orlov Ответить
      27.08.2013 в 10:32 дп
      Память может кушать кто угодно, в htop нажми F6[Sort By] и выбери Mem,%. И смотри какой процесс съедает память.
      Это могут быть скрипты, могут быть сервера типа MySQL или nginx. Когда определишь кто балуется, смотри конфиги.

      Например, у тебя может быть так настроен MySQL что он съедает всю память, тогда надо воспользоваться тюнерами, типа tuning-primer.sh и донастроить конфигурацию.
      А может быть у тебя посыпалась большая таблица, и MySQL запустил восстановление и все запросы к этой таблице встают в очередь, чем и создают небывалое потребление памяти, проверить это можно, выполнив SQL команду: SHOW PROCESSLIST; если будет висеть много запросов это оно.

      Так же посмотри /var/log/syslog, возможно там увидишь сообщения от процесса которому не хватает памяти.
  2. Виктор Ответить
    27.08.2013 в 8:28 дп
    Здравствуйте Виталий. Не знал как С Вами связаться, пришлось оставить комент. Извеняюсь за это))
    Помогите пожалуйста. У меня есть VPS стоит kentos в htop висят какието процессы с надъписью error, я подозриваю что так не должно быть. вобщем посмотрите пожалуй на принтскрин я красным обвел эти процессы. http://screenshot.su/show.php?img=940fd02011e6bb9fa0b34d3664484f02.jpg

    Вот строчка подозрительного процесса
    16099 mysql 25 0 414M 21440 6196 S 0.0 2.7 0:00.00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/v-host4yo
    • Vitaliy Orlov
      Vitaliy Orlov Ответить
      27.08.2013 в 8:48 дп
      Привет!
      Комментарии именно для связи и нужны, поэтому правильно сделал что написал сюда!

      Те процессы, что ты обвел, стандартные, их назначение можешь погуглить более точно, вкратце так:
      - rsyslogd = системный демон отвечающий за запись логов
      - /usr/libexec/mysql = это демон базы данных MySQL
      - /usr/sbin/named = это демон dns-а

      т.е. процессы эти всего скорее нормальные и никаких проблем с ними нет. То, что их несколько, это тоже не проблема, так и должно быть.

      На скриншоте, я не увидел надписей error, поэтому не совсем понимаю о чем ты. Если ты о вот этой части:
      --log-error=/var/lib/mysql/v-host4yo
      то это просто параметры передаваемые демоны во время запуска, в частности, этот параметр указывает куда записывать ошибки.

      Если у тебя все же есть подозрения о каких либо процессах, то могу посоветовать делать так:
      1) Поставить себе в виртуальную машину точно такую же ОС
      2) Сравнить процессы, которые будут в твоей установке с процессами которые будут на сервере.
      3) Если будут отличия, тогда первое что нужно сделать, спросить у тех.поддержки хостера, что это за процессы. Т.к. хостер может добавлять какой-то специфический софт, для обеспечения более оптимальной работы VPS.
      4) Если хостер не знает, и ты не знаешь, тогда остается только гуглить
      5) Если так и не удалось идентифицировать процесс, то надо либо обращаться к админам (например найти на weblancer.net), либо если это не возможно по тем или иным причинам, просто сделать чистую установку.

      Если ошибки у тебя показываются где-то в другом месте (например, не влезли на скриншот), выложи скриншот, где видно именно их.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Разрешены HTML-теги: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>