Импортируйте sql файлы с помощью xargs

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

Можно установить "мезаструктуру-utils" и выполнить "glxinfo" для получения большего количества деталей о расширении GLX на машине, но так как Вы, кажется, используете Ubuntu, я предложил бы использовать "Дополнительные Драйверы" штука, которую можно найти под "Системой-> администрация-> Дополнительные Драйверы" пытаться позволить Ubuntu выяснить, нужен ли Вам действительно, например, двоичный драйвер для Вашей карты.

3
24.10.2012, 01:23
3 ответа

xargs подходит для преобразования входа в параметры командной строки. Но как mysql не принимает параметр имени файла сценария SQL, xargs не удобно в этом случае.

Это - полезное использование cat:

cat *.sql | mysql -u root -p dbname

Так или иначе, Ваша попытка использовать ls таким образом приводит к известному, Почему Вы не должны анализировать вывод ls (1) статья.

4
27.01.2020, 21:14

Если Ваши sql файлы независимы друг от друга, это может быть быстрее для импорта их параллельно:

parallel -j10 sql mysql://root:passwd@/dbname '<' {} ::: *.sql

Посмотрите вводное видео к Параллели GNU для узнавания больше: https://www.youtube.com/playlist? list=PL284C9FF2488BC6D1

2
27.01.2020, 21:14

Эта команда загрузит все файлы sql в текущей папке, выполнив 8 параллельно, и удалит каждый файл, если он загружается успешно:

find. -type f -name "*.sql" -print0 | xargs -0 -n1 -P8 sh -c 'cat $0 | mysql -A -u<redacted> -p<redacted> -h<redacted> dbname && rm $0'

(Я не утверждаю, что это лучший способ загрузки sql-файлов, но он решает проблему использования xargsдля массового импорта файлов)

1
27.01.2020, 21:14

Теги

Похожие вопросы