Тихая установка MySQL-сервера

Версии с одинарными кавычками и двойными кавычками

Давайте определим псевдоним, используя одинарные кавычки:

$ alias d='$(date)'

Теперь давайте извлечем определение псевдонима:

$ alias d
alias d='$(date)'

Обратите внимание, что подстановка команд еще не производилась.

Давайте сделаем то же самое, но на этот раз с двойными кавычками:

$ alias d="$(date)"
$ alias d
alias d='Fri Oct 28 17:01:12 PDT 2016'

Поскольку используются двойные кавычки, подстановка команд была выполнена до того, как был определен псевдоним.

Версия с одинарными кавычками

Давайте попробуем выполнить версию с одинарными кавычками:

$ alias d='$(date)'
$ d
bash: Fri: command not found

Версия с одинарными кавычками эквивалентна выполнению:

$ $(date)
bash: Fri: command not found

В обоих случаях подстановка команды выполняется при выполнении команды.

Вариант

Давайте рассмотрим этот псевдоним, который использует подстановку команд и определяется с помощью одинарных кавычек:

$ alias e='echo $(date)'
$ e
Fri Oct 28 17:05:29 PDT 2016
$ e
Fri Oct 28 17:05:35 PDT 2016

Каждый раз, когда мы запускаем эту команду, дата вычисляется снова. При использовании одинарных кавычек подстановка команд выполняется при выполнении псевдонима, а не при его определении.

2
16.05.2018, 10:19
2 ответа

В Debian в /etc/mysql/debian.cnf находится пароль пользователя debian-sys-maint .

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

Используя имя пользователя и пароль в разделе [client], вы можете изменить пароль root после установки MySQL.

Тогда вы можете сделать это:

PASS=`sudo awk '/password/ { print $3;exit }' /etc/mysql/debian.cnf`
echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');" \
| mysql -u debian-sys-maint -p$PASS
2
27.01.2020, 22:11

Я полагаю, что вы пытаетесь подключиться к mysql-серверу, не запуская его.

В mysql у вас есть два основных компонента: сервер (mysqld) и клиент (mysql). Ваш первый звонок

apt-get install mysql-server php5-mysql

устанавливает сервер (и поддержку mysql для php). Вы не указываете клиент mysql в этом вызове, но он будет установлен автоматически. Затем вам нужно запустить сервер. В CentOS это можно сделать (не уверен насчет Ubuntu, но, вероятно, что-то подобное) позвонив в

# /etc/rc.d/init.d/mysqld start

и только после этого вы можете подключиться к серверу mysql с помощью команды

$ mysql -u root
0
27.01.2020, 22:11

Теги

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