我有一个在新的 linux OS 16.10 中安装软件的脚本。
假设该文件名为 insert_app.txt。
我这样称呼这个脚本:
# source insert_app.txt.
然后以非交互模式安装软件。
这是安装 MariaDb 的部分
sudo apt-get update
sudo apt-get install -y mariadb-server
效果很好。安装数据库后,我需要创建用户并设置权限,如下所示:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'psswordUser1';
GRANT ALL PRIVILEGES ON * . * TO 'user1'@'localhost';
FLUSH PRIVILEGES;
为此,我需要等待所有软件安装完毕,然后像 mysql -uroot -pPassword 这样输入数据库,然后运行前面的命令来创建用户。
我的问题是:
有没有办法将这些命令放在同一个管道中?我的意思是,像这样:
....
sudo apt-get update
sudo apt-get install -y mariadb-server
mysql -uroot -pPsswrd
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'psswordUser1';
GRANT ALL PRIVILEGES ON * . * TO 'user1'@'localhost';
FLUSH PRIVILEGES;
...
COntinue install the softwares...
它不工作。
一些帮助?
试试
-e
mysql客户端的参数:即使使用一个命令也可以使用:
这就是我在 16.04 或 16.10 上的做法,因为:
mariaDB 安装后,如果您没有配置任何其他内容,它只会授予对 root 的访问权限。所以你需要使用
sudo
来运行它。我的意思是(假设密码是'x'):代替
现在要运行整行,您将执行以下操作。就我而言,我正在创建一个名为“cyrex”的用户,密码为“x”:
或没有用户和密码参数:
完成此操作后,您可以在不使用 sudo 部分的情况下执行以下操作来进行测试:
它会起作用。我提供了一张图片,因此您可以看到混乱,因为我习惯了 MySQL 工作而不必这样做,但是使用 MariaDB 它略有变化。
您还可以通过运行更改密码和一些选项
mysql_secure_installation
或者mysql_setpermission
可以帮助配置默认设置。