Borodatych писал(а):
1. Что значит "тюнить систему" и как это реализовать?
2. Как мне разрешить открывать системе больше файлов?
все зависит от оси ... для фри надо добавить в /etc/sysctl.conf (подробности - в
хендбуке)
Код:
kern.maxfiles=65536
kern.maxfilesperproc=32768
для линуха честно говоря не скажу ...
Borodatych писал(а):
Это создает дамп:
Код:
mysqldump --default-character-set=cp1251 bgbilling > bgbilling.sql
и это:
Код:
echo -e "DROP DATABASE IF EXISTS bgbilling;\nCREATE DATABASE bgbilling DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;\nUSE bgbilling;\n" > bgbilling.sql
mysqldump --default-character-set=cp1251 bgbilling >> bgbilling.sql
Просто второе, так скажем, делекатнее?
команда:
Код:
mysqldump --default-character-set=cp1251 bgbilling > bgbilling.sql
просто создает текстовый файл дампа, но при попытке его импортировать в рабочую базу, например при восстановлении, Вы получите кучу ошибок, т.к. таблицы которые в дампе есть так же есть и в БД ... это можно исправить изменив команду следующим образом:
Код:
mysqldump --add-drop-table --default-character-set=cp1251 bgbilling > bgbilling.sql
для того чтобы при импорте подобного дампа дропалась сама база необходимо изменить команду так:
Код:
mysqldump --add-drop-database --default-character-set=cp1251 bgbilling > bgbilling.sql
тогда при импорте подобного дампа БД будет удалена и создана на основе дампа ...
команда:
Код:
echo -e "DROP DATABASE IF EXISTS bgbilling;\nCREATE DATABASE bgbilling DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;\nUSE bgbilling;\n" > bgbilling.sql
mysqldump --default-character-set=cp1251 bgbilling >> bgbilling.sql
так же создает файл дампа, но при этом в файле дампа содержаться инструкции по удалению текущей БД и созданию ее с необходимыми языковыми параметрами, т.е. при заливке дампа соданного таким способом Вы получите БД 1-в-1 похожую на ту которую дампили ...
Borodatych писал(а):
И повторюсь, хочется увидеть ответ всё таки.
По восстановлению вот этот код:
Код:
DROP DATABASE IF EXISTS bgbilling;
CREATE DATABASE bgbilling;
GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'localhost' IDENTIFIED BY 'bgbilling';
GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'%' IDENTIFIED BY 'bgbilling';
mysql bgbilling < bgbilling.sql
может дополнить до такого вида:
Код:
DROP DATABASE IF EXISTS bgbilling;
CREATE DATABASE bgbilling DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'localhost' IDENTIFIED BY 'bgbilling';
GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'%' IDENTIFIED BY 'bgbilling';
mysql --default-character-set=cp1251 bgbilling < bgbilling.sql
Или это лишнее? (масло масленое?)
насчет "это не лишнее" - и да и нет ...
да - лишние вот эти строки:
Код:
GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'localhost' IDENTIFIED BY 'bgbilling';
GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'%' IDENTIFIED BY 'bgbilling';
т.к. если у Вас база уже была создана с помощью dump.sql, то права доступа на нее уже выставлены, зачем делать эту операцию еще раз? если же Вы хотите залить дамп на новую машину, то достаточно выполнить эти 2 комманды вне контекста заливки дампа, т.к., IMHO, "дамп" - это данные, а права можно назначить и отдельно ...
нет - т.к. базу необходимо создать с необходимыми языковыми параметрами, а то тут появится топик "почему после импорта дампа у меня отображаются знаки вопроса вместо русских букв?"

чтобы Вас не грузить - пользуйтесь след. схемой:
создание дампа БД:
Код:
mysqldump --default-character-set=cp1251 bgbilling > bgbilling.sql
импорт дампа:
Код:
mysql -B -e "DROP DATABASE IF EXISTS bgbilling;"
mysql -B -e "CREATE DATABASE bgbilling DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;"
mysql --default-character-set=cp1251 -D bgbilling < bgbilling.sql
при необходимости назначения прав - просто выполните:
Код:
mysql -B -e "GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'localhost' IDENTIFIED BY 'bgbilling';"
mysql -B -e "GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'%' IDENTIFIED BY 'bgbilling';"