Я загружаю клиент MySQL в папку mysql-client.tar.gz с помощью следующей команды:
$ curl -fL -o mysql-client.tar.gz https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz
Далее я хотел бы распаковать его и скопировать исполняемый файл mysql в /usr/local/bin:
$ tar xf mysql-client.tar.gz
$ cd mysql-8.4.0-linux-glibc2.28-x86_64/bin
$ cp mysql /usr/local/bin
$ rm -f ~/mysql-client.tar.gz
$ chmod a+x /usr/local/bin/mysql
Есть ли более элегантный/чистый способ сделать это?
@tkausl К сожалению, я не могу использовать «yum install mysql». Мне нужно использовать способ, который я описал в своем вопросе
А какое «более элегантное» вы ищете?
@tkausl Я искал способ напрямую извлечь исполняемый файл с помощью «tar».





В конечном итоге вы можете скачать и извлечь без временного файла:
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz |
tar -Jx -C /usr/local/bin --strip-components=2 mysql-8.4.0-linux-glibc2.28-x86_64/bin/mysql
Спасибо! это именно то, что я искал. Однако при запуске я получаю сообщение об ошибке «tar: mysql: невозможно открыть: разрешение отклонено».
есть идеи, как это исправить? Спасибо
@anechkayf: Вам необходимо разрешение на запись в каталог /usr/local/bin.
Is there a more elegant/clean way of doing it?Самый простой способ — использовать менеджер пакетов вашего дистрибутива.