MySql настройка удаленного доступа (Ubuntu Linux). Mysql linux настройка


MySql настройка удаленного доступа (Ubuntu Linux)

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

Чтобы настроить удаленный доступ к MySql (настройка производится на операционной системе Ubuntu Linux и может отличаться для других ОС) необходимо отредактировать файл с настройками (конфигурационный файл). Обычно он располагается по пути /etc/mysql и называется my.cnf, хотя бывают и другие настройки.

Чтобы отредактировать файл с настройками MySql необходимо выполнить следующую команду:

sudo nano /etc/mysql/my.cnf

Если файл с настройками находится по пути /etc/mysql/mysql.conf.d/ и называется mysqld.cnf, тогда так:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Далее необходимо найти такую строку в открытом файле:

bind-address = 127.0.0.1

В данной строке указывается, с каких адресов разрешено подключение к MySql, в данном случае только с адреса 127.0.0.1, то есть с локальной машины (127.0.0.1 = localhost). Для того, чтобы открыть доступ к нужному IP, его нужно прописать вместо 127.0.0.1. Если необходим доступ с любого адреса, то написать как показано ниже.

bind-address = 0.0.0.0

После замены настроет bind-address MySql, его необходимо перезапустить:

sudo service mysql restart

Или так:

/etc/init.d/mysql restart

Теперь нужной подключиться к MySql с паролем суперпользователя:

sudo mysql -p

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

mysql> GRANT ALL PRIVILEGES ON userdatabase.* TO 'user'@'192.168.0.10' IDENTIFIED BY 'password';

В данном случае дается полный доступ к базе данных userdatabase пользователю с логином user и паролем password, подключающемуся с IP 192.168.0.10.

Если необходимо разрешить доступ ко всем базам, то вместо имени базы данных пишется знак *, если необходимо разрешить доступ с любого IP, то вместо IP адреса пишется знак %. Ниже представлен пример, разрешающий пользователю user полный доступ ко всем базам данных с любого IP.

mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password';

Данная инсрукция справедлива и для других linux дистрибутивах, основанных на debian.

dev58.ru

Работа с MySQL в Linux

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

Когда я говорю «простые», я и имею ввиду простые. Эта статья не сделает из вас профессионального администратора баз данных MySQL. Однако отсюда вы сможете почерпнуть некоторые знания о MySQL, которых вам вполне может хватить для решения задач, вроде  настройки WordPress или создания резервной копии базы данных MySQL.

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

Также, умение работать с MySQL из командной строки даёт вам возможность работать с ней и из скриптов. Вы же не можете работать из скриптов с phpMyAdmin (некоторые могут, но это уже больше напоминает извращения)? Так что, если вы хотите, например, организовать еженедельное копирование ваших баз данных, то умение работать с MySQL из командной строки будет весьма кстати.

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

Подключение

Итак, давайте начнём с подключения к MySQL при помощи команды:

Вместо username введите имя существующего в вашей инсталляции MySQL пользователя.

Теперь, находясь в оболочке mysql-клиента, можно увидеть список доступных БД при помощи команды:

Обратите на точку с запятой в конце. Она сообщает MySQL о том, что команда завершена. Если строку не завершить этим символом, то после нажатия Enter MySQL будет ожидать ввода продолжения команды в новой строке. Такое поведение MySQL часто оказывается полезным при вводе нескольких команд за один раз.

Также имейте ввиду, что MySQL хранит историю команд. Нажмите стрелку вверх и вы увидите введённую вами ранее команду.

В случае, если вам необходимо начать работу с какой-то конкретной базой данных, воспользуйтесь командой:

заменив databasename на имя нужной вам базы данных. Нужной вам базы данных не существует и вам необходимо её создать? Нет проблем!

Создание баз данных и таблиц

Создать базы данных очень просто. Просто введите в оболочке MySQL команду:

заменив dbname на имя создаваемой БД.

Также, вы можете воспользоваться программой mysqladmin, чтобы создать новую БД:

mysqladmin -u username -p create dbname;

mysqladmin -u username -p create dbname;

Этот способ быстрее, если вам нужно лишь создать новую базу данных и, конечно, медленнее, если после создания БД вам нужно ввести ещё серию команд. Отчасти такому замедлению способствует необходимость каждый раз вводить пароль пользователя MySQL. В принципе, вы можете создать файл ~/.my.cnf, поместив в него ваше имя пользователя и пароль MySQL, но я не рекомендую вам этого делать, поскольку это значительно снизит уровень безопасности.

Утилиту mysqladmin вы можете использовать для решения многих административных задач. Например, вы можете запускать, останавливать и перезагружать сервер MySQL. Ну, к примеру, остановить MySQL-сервер по какой-то причине? Воспользуйтесь командой:

mysqladmin -u username -p shutdown

mysqladmin -u username -p shutdown

Если желаете ознакомиться со списком всех доступных команд mysqladmin, воспользуйтесь ключом --help:

Чтобы создать таблицу в БД, используется инструкция CREATE TABLE table_name, после которой следует описание создаваемой таблицы. Поскольку каждая таблица обычно имеет несколько полей для хранения информации различных типов, то команды создания таблиц обычно получаются весьма длинными. Вот, например, команда, создающая таблицу для WordPress:

CREATE TABLE `wp_users` ( `ID` bigint(20) unsigned NOT NULL auto_increment, `user_login` varchar(60) NOT NULL default '', `user_pass` varchar(64) NOT NULL default '', `user_registered` datetime NOT NULL default '0000-00-00 00:00:00', `display_name` varchar(250) NOT NULL default '', `spam` tinyint(2) NOT NULL default '0', `deleted` tinyint(2) NOT NULL default '0', PRIMARY KEY (`ID`), UNIQUE KEY `user_login` (`user_login`), KEY `user_login_key` (`user_login`), KEY `user_nicename` (`user_nicename`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

CREATE TABLE `wp_users` (

`ID` bigint(20) unsigned NOT NULL auto_increment,

`user_login` varchar(60) NOT NULL default '',

`user_pass` varchar(64) NOT NULL default '',

`user_registered` datetime NOT NULL default '0000-00-00 00:00:00',

`display_name` varchar(250) NOT NULL default '',

`spam` tinyint(2) NOT NULL default '0',

`deleted` tinyint(2) NOT NULL default '0',

PRIMARY KEY  (`ID`),

UNIQUE KEY `user_login` (`user_login`),

KEY `user_login_key` (`user_login`),

KEY `user_nicename` (`user_nicename`)

) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

В этом примере я опустил некоторые инструкции ради краткости, однако основные моменты здесь отображены. После инструкции CREATE TABLE вы видите инструкции с описанием полей таблицы. Описание поля таблицы состоит из имени поля, типа данных, которые буду в нём храниться, а также определения, может ли поле иметь значение NULL (то есть, не содержать данных). Инструкции описания полей таблицы разделены запятыми, а последняя строка указывает MySQL, какой движок (в данном примере — MyISAM) использовать для работы с таблицей, а также опции, специфичные для таблицы в целом.

Не волнуйтесь, если для вас всё это кажется тарабарщиной. Всё, что вы сейчас увидели в примере выше фактически создаёт т. н. схему базы данных. Если вы пользуетесь приложениями, в комплекте которых поставляется схема БД для них, то вам вовсе необязательно знать, что именно делают инструкции, описанные в схеме.

Создание и настройка пользователя

Прежде, чем начать, вы должны знать пароль пользователя root в вашей инсталляции MySQL. Это не тот же самый root, который присутствует в вашей операционной системе. Чтобы не использовать учётную запись root для работы со всеми БД в вашей системе, вы можете создать отдельного пользователя. Например, чтобы работать с БД моего WordPress, я использую отдельного пользователя, наделённого не столь высокими привилегиями, как пользователь root.

Создать пользователя очень просто. Войдите в оболочку MySQL и дайте команду:

CREATE USER 'bob'@'localhost' IDENTIFIED BY 'password';

CREATE USER 'bob'@'localhost' IDENTIFIED BY 'password';

заменив bob на имя нужного вам пользователя, а password на пароль пользователя.

Однако, созданный пользователь не сможет делать ничего полезного до тех пор, пока ему не предоставить необходимые привилегии в базам данных. Например, если вы хотите дать пользователю bob полный доступ к базе данных wordpress_db, достаточно дать команду:

GRANT ALL PRIVILEGES ON wordpress_db.* to 'bob'@'localhost';

GRANT ALL PRIVILEGES ON wordpress_db.* to 'bob'@'localhost';

Вы можете ограничить перечень операций, которые будет разрешено выполнять указанному пользователю. Например, вы можете разрешить лишь операции SELECT, INSERT и DELETE. Подробнее узнать об этом вы можете в соответствующем разделе руководства MySQL.

Создание дампа базы данных

Базы данных MySQL хранятся на диске в двоичном виде в файлах с данными, индексных файле и файлах, описывающих структуру таблиц. Таким образом, каждая БД MySQL хранится в своём каталоге, расположенном в /var/lib/mysql, плюс три файла для каждой таблицы и файл .opt, содержащий параметры БД.

Конечно, можно организовать резервное копирование баз данных, путём простого копирования двоичных файлов, описанных выше, однако гораздо удобнее работать с дампами БД. Как это делается? Очень просто. MySQL имеет утилиту, называемую mysqldump. Например, чтобы сделать дамп БД wordpress_db, вы можете использовать команду:

mysqldump -u username -p wordpress_db > wordpress.sql

mysqldump -u username -p wordpress_db > wordpress.sql

которая сделает дамп БД wordpress_db в текстовом виде и сохранит его в файле wordpress.sql. Созданный текстовый файл будет содержать SQL-инструкции, выполнив которые, можно будет воссоздать базу данных, и будет иметь больший размер, нежели размер двоичных файлов БД. Например, размер моей БД WordPress составляет 39 мегабайт, в то время как дамп этой БД получился размером в 41 мегабайт. Это несколько больше размера БД в двоичном виде, поскольку дамп содержит некоторую избыточную информацию.

Также mysqldump может создавать дампы не всей БД, а отдельных таблиц.

Восстановить БД из дампа ещё проще. Давайте представим, что необходимо восстановить базу данных с именем wordpress_db из файла wordpress.sql, который мы создали ранее.  Всё, что нам понадобится для этого, это имя базы данных, путь к файлу дампа и имя пользователя MySQL, имеющего достаточные привилегии для этого:

mysql -u user -p wordpress_db < wordpress.sql

mysql -u user -p wordpress_db < wordpress.sql

База данных, дамп которой вы собираетесь загрузить, должна существовать к моменту восстановления. Так, если вы переносите базы данных с одного хоста на другой при помощи дампов, вам нужно прежде создать пустые базы данных, и только потом загружать в них дампы.

Итоги

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

По мотивам Linux.Com

ashep.org

Установка и настройка MySQL сервера на Ubuntu » Инструкции

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

Установка

Для установки MySQL запустите следующую команду из терминала:

sudo apt-get install mysql-server

 

Начиная с Ubuntu 12.04, MySQL 5.5 устанавливается по умолчанию. Несмотря на 100% совместимость с MySQL 5.1, при необходимости установить версию 5.1 (например в качестве зависимой базы к другим MySQL 5.1 серверам), вы можете заменить устанавливаемый пакет на mysql-server-5.1.

 

В процессе установки у вас запросят пароль для пользователя root под MySQL.

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

sudo netstat -tap | grep mysql

Когда вы запустите эту команду, ввы сможете увидеть что-то похожее на следующую строку:

tcp 0 0 localhost:mysql *:* LISTEN 2556/mysqld

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

sudo service mysql restart

Настройка

Вы можете отредактировать файл /etc/mysql/my.cnf для настройки основных параметров — файл журнала, номер порта и пр. Например, чтобы настроить MySQL на ожидание подключений от компьютеров в сети, измените параметр bind-address на IP адрес сервера:

bind-address = 192.168.0.5

 

Замените 192.168.0.5 на реальное значение адреса вашего сервера.

 

После изменений в /etc/mysql/my.cnf сервис MySQL нужно перезагрузить:

sudo service mysql restart

Если вам потребовалось сменить пароль пользователя root в MySQL, введите в терминале:

sudo dpkg-reconfigure mysql-server-5.5

Сервис MySQL будет остановлен и вас попросят ввести новый пароль.

Драйверы базы данных

Хотя конфигурация по умолчанию для MySQL, предоставляемая пакетами Ubuntu, имеет великолепную функциональность и работает достаточно хорошо, есть некоторые вещи, которые вы можете решить до того как продолжить.

MySQL разработан так, что позволяет хранить данные по-разному. Эти варианты относятся к драйверам (управляющим модулям — engines) как баз данных, так и хранилищ. Существует два основных драйвера, которые вам могут быть интересны: InnoDB и MyISAM. Драйверы хранилищ прозрачны (незаметны) конечным пользователям. MySQL управляет событиями по-разному на нижнем уровне, но независимо от того, какая система хранения данных используется, вы будете взаимодействовать с базой одним и тем же способом.

Каждый драйвер имеет свои преимущества и недостатки.

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

  1. MyISAM более старая из двух. Она может быть быстрее InnoDB при определенных обстоятельствах и предпочтительна при рабочей нагрузке, ориентированной на чтение данных. Некоторые интернет приложения настроены на использование именно MyISAM (однако это не означает, что они будут медленнее под InnoDB). MyISAM также поддерживает тип данныхFULLTEXT, который позволяет осуществлять очень быстрый поиск по большому количеству текстовых данных. Однако MyISAM поддерживает блокировку записи только на уровне таблиц. Это означает, что только один процесс может изменять данные в таблице в один момент времени. Поскольку некоторые приложения, использующие таблицу, могут масштабироваться (работать несколькими экземплярами — scales), это может стать серьезной помехой. Здесь также отсутствует журналирование, что может усложнить восстановление данных после сбоя. Следующая ссылка предоставляет некоторые соображения по использованию MyISAM в работающей базе данных.

  2. InnoDB — более современный драйвер, созданный по принципам ACID, что гарантирует надежную обработку транзакций базы данных. Блокировка записи производится на уровне одной записи в таблице. Это означает возможность нескольких изменений в одной таблице одновременно. Кэширование данных происходит также и в оперативной памяти внутри драйвера базы данных, позволяя кэшировать более эффективно чем на уровне блоков файлов. В соответствии с ACID все транзакции журналируются независимо от основных таблиц. Это позволяет намного более надежно восстанавливать данные при проверке целостности данных.

Начиная MySQL 5.5 InnoDB является драйвером по умолчанию и настоятельно рекомендуется вместо MyISAM, если только у вас нет специфических потребностей, уникальных для этого драйвера.

Расширенные настройки

 

Создание настроенного файла my.cnf

Существует ряд параметров, которые могут быть указаны в файле настроек MySQL, что со временем позволит вам повысить производительность вашего сервера. Для начальной настройки вам может пригодиться Percona’s my.cnf generating tool. Этот инструмент позволит вам создать файл my.cnf более оптимизированный под специфические возможности вашего сервера и ваши требования.

Не меняйте ваш существующий файл my.cnf на созданный утилитой, если у вас уже загружены данные в вашу базу данных. Некоторые изменения в этом файле могут быть несовместимы, если вы поменяли то, как хранятся данные на диске, после чего вы не сможете запустить MySQL. Если вы все же решили это сделать и у вас есть данные в базе, вам потребуется выполнить mysqldump и загрузить данные повторно:

mysqldump --all-databases --all-routines -u root -p > ~/fulldump.sql

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

Как только файл выгрузки создан, остановите MySQL:

sudo service mysql stop

Теперь сохраните оригинальный файл my.cnf и замените его на новый:

sudo cp /etc/my.cnf /etc/my.cnf.backup sudo cp /path/to/new/my.cnf /etc/my.cnf

Затем удалите и создайте заново пространство базы данных, а также убедитесь в корректности его владельца перед запуском MySQL:

sudo rm -rf /var/lib/mysql/* sudo mysql_install_db sudo chown -R mysql: /var/lib/mysql sudo service start mysql

Теперь все, что осталось — это импортировать ваши данные. Чтобы дать нам представление как идет процесс импорта, полезно использовать утилиту ‘Pipe Viewer’ (pv). Далее показано как установить и использовать pv для этого случая, но если вы не хотите ее использовать, просто замените pv на cat в соответствующей команде. Не обращайте внимание на время ETA (расчетное время окончания), генерируемое pv, поскольку оно основывается на среднем времени обработки каждой записи при сохранении в файл, однако скорость может сильно меняться от записи к записи при использовании mysqldumps:

sudo apt-get install pv pv ~/fulldump.sql | mysql

Когда все завершится, это будет означать что все получилось!

 

Эта операция не обязательна для всех изменений my.cnf. Многие значения, которые вы захотите поменять для улучшения производительности сработают даже на работающем сервере. Но как всегда не забудьте сделать надежную копию файлов настроек и данных перед внесением изменений.

 

MySQL Tuner

MySQL Tuner — это полезный инструмент, который подсоединяется к работающему MySQL и предлагает варианты как можно улучшить настройки для вашей рабочей нагрузки. Чем дольше работает сервер, тем лучше рекомендации предоставит mysqltuner. Для рабочего окружения подождите как минимум 24 часа прежде чем запускать утилиту. Вы можете установить mysqltuner из хранилища Ubuntu:

sudo apt-get install mysqltuner

После установки запустите ее:

mysqltuner

и ждите ее финального отчета. Верхняя секция предоставляет общую информацию а сервере баз данных, а нижняя часть содержит рекомендации по настройке, необходимые для изменения вашего my.cnf. Многие из них могут быть поправлены вживую на сервере без перезагрузки. Смотрите официальную документацию MySQL (указанную в разделе Ссылки) для перечня параметров, изменяемых «налету». Далее часть примерного отчета по работающей базе, который показывает, что можно извлечь некоторую пользу от увеличения размера кэша запросов:

-------- Recommendations ----------------------------------------------------- General recommendations: Run OPTIMIZE TABLE to defragment tables for better performance Increase table_cache gradually to avoid file descriptor limits Variables to adjust: key_buffer_size (> 1.4G) query_cache_size (> 32M) table_cache (> 64) innodb_buffer_pool_size (>= 22G)

Один финальный комментарий по настройке базы данных: Хотя мы можем утверждать что определенные настройки самые лучшие, производительность может изменяться от приложения к приложению. Например, что работает великолепно для WordPress, может оказаться не лучшим для Drupal, Joomla или проприетарных приложений. Производительность зависит от типов запросов, использования индексов, насколько эффективно спроектирована база данных и т.д. Вы можете посчитать полезным потратить некоторое время на поиск настроек базы данных под используемые вами приложения. Как только вы пройдете определенную точку, любые ваши изменения будут приводить к минимальным улучшениям и вам будет лучше либо заняться улучшением ваших приложений, либо масштабировать вашу базу данных, используя более производительное оборудование или добавляя зависимые сервера.

 

Материал взят с help.ubuntu.ru

neoblogs.net

Оптимизация настроек MySQL – mysqld исчерпывает память Ubuntu Linux

Общий ответ от wiki сервера :

MySQL Tuner

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

sudo apt-get install mysqltuner

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

mysqltuner

и ждать его окончательного отчета. Верхний раздел содержит общую информацию о сервере базы данных, а в нижнем разделе приведены рекомендации по настройке для изменения в my.cnf. Большинство из них могут быть изменены вживую на сервере без перезапуска, просмотрите официальную документацию по MySQL (ссылка в разделе «Ресурсы»), чтобы соответствующие переменные изменялись в процессе производства. Ниже приведен пример отчета из производственной базы данных, в котором показано, что может быть полезно увеличить количество кеша запросов:

-------- Рекомендации ----------------------------------------- ------------ Общие рекомендации: Запустите OPTIMIZE TABLE для дефрагментации таблиц для лучшей производительности Постепенно увеличивайте значение table_cache, чтобы избежать ограничений файлового дескриптора Переменные для настройки: key_buffer_size (> 1.4G) query_cache_size (> 32M) table_cache (> 64) innodb_buffer_pool_size (> = 22G)

Один из последних комментариев по настройке баз данных. Хотя мы можем в целом сказать, что некоторые настройки являются лучшими, производительность может варьироваться от приложения к приложению. Например, то, что лучше всего подходит для WordPress, может быть не лучшим для Drupal, Joomla или проприетарных приложений. Производительность зависит от типов запросов, использования индексов, эффективности проекта базы данных и т. Д. Возможно, вам будет полезно потратить некоторое время на поиск советов по настройке базы данных на основе того, для каких приложений вы его используете. После того, как вы преодолеете определенный момент, любые корректировки, которые вы сделаете, приведут только к незначительным улучшениям, и вам будет лучше или улучшить приложение, или взглянуть на расширение вашей базы данных путем использования более мощного оборудования или добавления подчиненных серверов.

  • Посмотрите раздел показателей производительности отчета mysqltuner. Максимально возможная память до 50%.
  • tmp_table_size , max_heap_table_size variable : сохранить эти равные и высокие.
  • join_buffer_size , увеличение в небольших количествах; он будет умножен на max_connections .
  • innodb_buffer_pool_size . Сделайте это высоко.

ubuntu.fliplinux.com

Настройка MySQL в Linux | Mysql

IvS.ma История такая: мне пришлось бросить уютненький postgres и заняться mysql, причем задача требует жутко доисторической версии этой СУБД. Я скачал исходник mysql-4.1.22.tar.gz. Распаковал, сделал./configure && make && make installПосле этого пытаюсь запустить демон /usr/local/bin/mysqld_safe, это предлагается при попытке запустить mysql_install_dbДемон пишет в лог вот это 110506 18:13:14 mysqld started110506 18:13:14 InnoDB: Operating system error number 13 in a file operation.InnoDB: The error means mysqld does not have the access rights toInnoDB: the directory.InnoDB: File name./ibdata1InnoDB: File operation call: 'create'.InnoDB: Cannot continue operation.110506 18:13:14 mysqld ended

Кто знает, как правильно настроить mysql в linux? Как решить эту проблему?Дополнено (1). True Lamer, моя задача требует именно этой версии mysql. А уж вбить в гугл с десяток различных вариаций фразы "настройка mysql в linux" я успел, поверьте. Если бы мне это помогло, я бы не стал писать сюда.Дополнено (2). ну или хотя бы расскажите, откуда брать mysql.sock файл и что он из себя представляетДополнено (3). Pharmakis, я запускал его от рутаДополнено (4). Юрий, спасибо, теперь стало понятнее. Теперь возникает следующая проблема - ругается, что не находит mysql.sock

True Lamer Обновись на новую версию что тебе мешает? Все они бесплатные. Потом зайди в гугл и вбей MySQL на"ОС Linux"

Pharmakis Я скажу всё очень просто: читаем лог. В логе написано что? Что нет у мускула прав доступа на что-то там, значит нужно их ему дать, только и всего.

Юрий Чудновскийлучший ответ > я запускал его от рута

Как умная система, мускул сбрасывает привелегии на юзера mysql. Ему и права нужно давать на директорию /var/lib/mysql и какие он там ещё захочет.

mysqlru.com

Настройка MySQL на UNIX системах

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

Задать пароль для root в БД MySQL

В случае если не был запрошен пароль при установке MySQL  необходимо выполнить следующую команду:

/usr/bin/mysqladmin -u root password 'passwd'

где passwd — пароль для пользователя root.

Первоначальная настройка MySQL

Выполните из командной строки:

/usr/bin/mysql_secure_installation

После запуска данного скрипта Вы увидите следующие сообщения. Установка проверялась на Raspbian 9):

ПРИМЕЧАНИЕ. ЗАПУСК ВСЕХ ЧАСТЕЙ ЭТОГО СКРИПТА РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ MySQL СЕРВЕРЫ В ПРОИЗВОДСТВЕ! ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ ВНИМАТЕЛЬНО! Чтобы войти в MySQL для его защиты, нам понадобится текущий< Пароль для пользователя root. Если вы только что установили MySQL и Вы еще не установили пароль root, пароль будет пустым, поэтому вам нужно просто нажать здесь. Введите текущий пароль для root (введите для none): Установка пароля root гарантирует, что никто не сможет войти в MySQL Пользователя root без надлежащего разрешения. У вас уже установлен пароль root, поэтому вы можите спокойно ответить «n». Изменить пароль root? [Y / N] По умолчанию установка MySQL имеет анонимного пользователя, позволяя кому-либо Для входа в MySQL без необходимости создания учетной записи пользователя для их. Это предназначено только для тестирования и для установки Пойдите немного более гладко. Вы должны удалить их, прежде чем производственная среда. Удалить анонимных пользователей? [Y / N] Как правило, root должен разрешаться подключаться только к «localhost». Эта Гарантирует, что кто-то не может угадать пароль root из сети. Запретить вход в систему удаленно? [Y / N] По умолчанию MySQL поставляется с базой данных с именем «test», которая доступна каждому. Это также предназначено только для тестирования и должно быть удалено прежде чем перейти в производственную среду. Удалить тестовую базу данных и получить доступ к ней?[Y / N] Перезагрузка таблиц привилегий гарантирует, что все сделанные изменения вступят в силу немедленно. Обновить таблицы привилегий сейчас? [Y / N] Все сделано! Если вы выполнили все вышеуказанные шаги, ваш MySQL установка теперь должна быть безопасной. Спасибо, что используете MySQL!

Если Вы не можите зайти в phpmyadmin под пользователем root, то решение тут

Если есть вопросы, то пишем в комментариях и не забываем проголосовать за статью.

Настройка MySQL на UNIX системах

Пожалуйста оцените эту статью

pro-gram.ru

Настройка производительности сервера MySQL · Linux-in.com

Помимо  параметра mysqltuner – существует также другой метод проверки действующих настроек MySQL с целью получения комментариев на предмет улучшения производительности.

Чтобы получить данную информацию необходимо применение tuning-primer.sh

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

Итак, производим его загрузку:

# wget https://launchpad.net/mysql-tuning-primer/trunk/1.6- r1/+download/tuning-primer.sh # chmod +x tuning-primer.sh

Для корректного функционирования программы, вам понадобится наличие калькулятора bc. Чтобы проверить его наличие, используйте следующую комбинацию:

1 # which bc 2 which: no bc in (/sbin:/bin:/usr/sbin:/usr/bin)

В случае отсутствия, необходимо произвести установку:

1 # yum -y install bc 2 ... 3 Installed: 4 bc.x86_64 0:1.06.95-1.el6 5 6 Complete!

Теперь можно осуществлять запуск:

001 # ./tuning-primer.sh 002 003 Using login values from ~/.my.cnf 004 - INITIAL LOGIN ATTEMPT FAILED - 005 Testing for stored webmin passwords: 006 None Found 007 Could not auto detect login info! 008 Found potential sockets: /var/lib/mysql/mysql.sock 009 Using: /var/lib/mysql/mysql.sock 010 Would you like to provide a different socket?: [y/N] 011 Do you have your login handy ? [y/N] : y 012 User: root 013 Password: p@ssw0rd 014 015 Would you like me to create a ~/.my.cnf file for you? [y/N] : y 016 017 ~/.my.cnf already exists! 018 019 Replace ? [y/N] : y 020 021 -- MYSQL PERFORMANCE TUNING PRIMER -- 022 - By: Matthew Montgomery - 023 024 MySQL Version 5.5.38 i686 025 026 Uptime = 0 days 1 hrs 4 min 54 sec 027 Avg. qps = 0 028 Total Questions = 17 029 Threads Connected = 1 030 031 Warning: Server has not been running for at least 48hrs. 032 It may not be safe to use these recommendations 033 034 To find out more information on how each of these 035 runtime variables effects performance visit: 036 http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html 037 Visit http://www.mysql.com/products/enterprise/advisors.html 038 for info about MySQL's Enterprise Monitoring and Advisory Service 039 040 SLOW QUERIES 041 The slow query log is NOT enabled. 042 Current long_query_time = 10.000000 sec. 043 You have 0 out of 38 that take longer than 10.000000 sec. to complete 044 Your long_query_time seems to be fine 045 046 BINARY UPDATE LOG 047 The binary update log is NOT enabled. 048 You will not be able to do point in time recovery 049 See http://dev.mysql.com/doc/refman/5.5/en/point-in-time-recovery.html 050 051 WORKER THREADS 052 Current thread_cache_size = 0 053 Current threads_cached = 0 054 Current threads_per_sec = 1 055 Historic threads_per_sec = 0 056 Your thread_cache_size is fine 057 058 MAX CONNECTIONS 059 Current max_connections = 151 060 Current threads_connected = 1 061 Historic max_used_connections = 1 062 The number of used connections is 0% of the configured maximum. 063 You are using less than 10% of your configured max_connections. 064 Lowering max_connections could help to avoid an over-allocation of memory 065 See "MEMORY USAGE" section to make sure you are not over-allocating 066 067 INNODB STATUS 068 Current InnoDB index space = 0 bytes 069 Current InnoDB data space = 0 bytes 070 Current InnoDB buffer pool free = 98 % 071 Current innodb_buffer_pool_size = 128 M 072 Depending on how much space your innodb indexes take up it may be safe 073 to increase this value to up to 2 / 3 of total system memory 074 075 MEMORY USAGE 076 Max Memory Ever Allocated : 144 M 077 Configured Max Per-thread Buffers : 122 M 078 Configured Max Global Buffers : 144 M 079 Configured Max Memory Limit : 266 M 080 Physical Memory : 1006 M 081 Max memory limit seem to be within acceptable norms 082 083 KEY BUFFER 084 No key reads?! 085 Seriously look into using some indexes 086 Current MyISAM index space = 105 K 087 Current key_buffer_size = 16 K 088 Key cache miss rate is 1 : 0 089 Key buffer free ratio = 87 % 090 Your key_buffer_size seems to be fine 091 092 QUERY CACHE 093 Query cache is supported but not enabled 094 Perhaps you should set the query_cache_size 095 096 SORT OPERATIONS 097 Current sort_buffer_size = 64 K 098 Current read_rnd_buffer_size = 256 K 099 No sort operations have been performed 100 Sort buffer seems to be fine 101 102 JOINS 103 Current join_buffer_size = 132.00 K 104 You have had 0 queries where a join could not use an index properly 105 Your joins seem to be using indexes properly 106 107 OPEN FILES LIMIT 108 Current open_files_limit = 1024 files 109 The open_files_limit should typically be set to at least 2x-3x 110 that of table_cache if you have heavy MyISAM usage. 111 Your open_files_limit value seems to be fine 112 113 TABLE CACHE 114 Current table_open_cache = 4 tables 115 Current table_definition_cache = 400 tables 116 You have a total of 41 tables 117 You have 4 open tables. 118 Current table_cache hit rate is 2% 119 , while 100% of your table cache is in use 120 You should probably increase your table_cache 121 122 TEMP TABLES 123 Current max_heap_table_size = 16 M 124 Current tmp_table_size = 16 M 125 Of 259 temp tables, 12% were created on disk 126 Created disk tmp tables ratio seems fine 127 128 TABLE SCANS 129 Current read_buffer_size = 256 K 130 Current table scan ratio = 4 : 1 131 read_buffer_size seems to be fine 132 133 TABLE LOCKING 134 Current Lock Wait ratio = 0 : 296 135 Your table locking seems to be fine

Поскольку массив выводимой информации большой, для удобства перед блоком:

1 case $mode in 2 all | ALL )

Прописываем {, в свою очередь в конце скрипта:

1 } | tee tuning-primer.log

Также удовлетворительного результата можно добиться путём его моментального перенаправления в файл:

1 # ./tuning-primer.sh &> tuning-primer.log 01 # head tuning-primer.log 02 03 -- MYSQL PERFORMANCE TUNING PRIMER -- 04 - By: Matthew Montgomery - 05 06 MySQL Version 5.1.73 x86_64 07 08 Uptime = 21 days 1 hrs 37 min 14 sec 09 Avg. qps = 0 10 Total Questions = 253928 11 Threads Connected = 2

Comments

comments

linux-in.com