Debian
靜默 MySQL 伺服器安裝
我想使用 SSH 連接和包含安裝命令的 bash 腳本在 Raspberry Pi (Debian) 上安裝 mysql-server。關鍵是,安裝需要使用腳本自動完成。我不希望 SSH 視窗中有任何使用者互動或圖形提示。
這就是為什麼我使用以下程式碼來設置 mysql-server 但阻止任何圖形回饋:
sudo DEBIAN_PRIORITY=critical apt-get install -y -q mysql-server php5-mysql
到目前為止它執行良好,安裝執行沒有任何提示等。但是當我在安裝後嘗試更改 MySQL 伺服器的 root 密碼時,總是得到響應:
$ mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我希望靜默安裝使用標準使用者“root”和空密碼,但我也嘗試了許多其他可能的選項。我還嘗試了其他命令,例如:
$ mysql -u "root" -p "" $ mysql --user="root" --password=""
或者
$ mysqladmin -u root password "" mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
但不幸的是沒有任何成功。
有沒有人知道一種在腳本中以靜默方式和非圖形方式安裝 mysql-server 的方法,並在腳本中配置 root 密碼或在設置完所有內容後更改它?
在 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 $$部分,您可以在 MySQL 安裝後更改 root 密碼。 你可以這樣做:
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