Официальная документация перечисляет эти две строки для создания базы данных на удаленном сервере и копирования контента. < /P>
Код: Выделить всё
mysqladmin -h 'other_hostname' create db_name
mysqldump db_name | mysql -h 'other_hostname' db_name
< /code>
Я успешно запустил эти команды с правильными значениями в окне командной строки в Windows, но когда я запускаю следующий код, он сбой. < /p>
// Create database.
var stopwatch = new Stopwatch();
stopwatch.Start();
var process = new Process()
{
StartInfo = new ProcessStartInfo("mysqladmin", $"-u{targetUser} -p{targetPassword} -h {targetHost} create {arg}")
{
UseShellExecute = false,
RedirectStandardOutput = false,
WorkingDirectory = mySqlPath
}
};
process.Start();
if (process is not null)
{
process.WaitForExit();
}
stopwatch.Stop();
logWriter.WriteLine($"\tCreating database in {stopwatch.ElapsedMilliseconds} ms");
// Copy database.
stopwatch.Restart();
process = new Process()
{
StartInfo = new ProcessStartInfo("mysqldump", @$"-u{sourceUser} -p{sourcePassword} {arg} | {mySqlPath}mysql.exe -u{targetUser} -p{targetPassword} -h {targetHost} {arg}")
{
UseShellExecute = false,
RedirectStandardOutput = false,
WorkingDirectory = mySqlPath
}
};
process.Start();
if (process is not null)
{
process.WaitForExit();
}
stopwatch.Stop();
logWriter.WriteLine($"\tCopying database in {stopwatch.ElapsedMilliseconds} ms");
mysqldump: Couldn't find table: "|"
< /code>
Я знаю, что параметры, которые я передаю к вызовам, верны, потому что я попытался успешно запустить команды из окна командной строки. Я не уверен, как изменить команду исправить эту ошибку. Поскольку единственный символ вызывает ошибку, он очень затрудняет поиск в Интернете.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -of-syntax