Как использовать SSH вход MySQL базы данных? - PullRequest
0 голосов
/ 12 января 2012

У меня нет прав на изменение php.ini, но я использую SSH, а в phpmyadmin я могу ввести только файл максимум 2M.Но теперь у меня есть база данных большого размера, так что я могу использовать вход SSH для базы данных mysql большого размера без изменения php.ini?

put c:/mydata.sql /etc/local/mydata.sql {where is the folder I should upload?}
mysql -u myname -p
mypassword:
mysql>use mydata;
mysql>...  { what is the insert code, it may be depand the fold where I update to the server }

Если у этого метода все еще есть ограничение с максимумом 2M, как мне это сделать?

Ответы [ 2 ]

1 голос
/ 12 января 2012

импорт из файла:

mysql --user=DB_USER --password DB_NAME < dump.sql

импорт из сжатого файла:

gunzip < dump.sql.gz | mysql --user=DB_USER --password DB_NAME

импорт из сжатого файла на другом хосте (кроме localhost):

gunzip < dump.sql.gz | mysql --host=your.db.server.com --user=DB_USER --password DB_NAME

Я бы не стал указывать пароль в командной строке, так как он будет сохранен в истории bash, просто оставьте параметр --password без действительного пароля, и MySQL запросит его.Если вы не укажете эту опцию, mysql попытается войти в систему без пароля.

На другой вопрос о том, куда загружать ваши SQL-файлы: вы должны знать, если что-то делаете на сервере.... в качестве альтернативы просто используйте временный каталог, как предложено выше, или создайте какую-нибудь резервную копию вне вашего webroot.

0 голосов
/ 12 января 2012

Если у вас есть доступ по ssh, используйте утилиту scp для копирования файла на целевой сервер. Я думаю, что если вы не знаете каталог, используйте / tmp location.

scp /local/path/to/file.sql user@targetserver:/tmp

Введите пароль, и файл должен бытьскопировать в каталог / tmp на сервере, затем вы можете импортировать его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...