我正在尝试在我的网络服务器上自动设置新的 WordPress 托管客户端,每个客户端都需要它位于 MYSQL DB 上,但是我无法找到一种方法,通过排除用户的输入来为每个客户端提供唯一的名称
我尝试输入默认值,即 wordpressJohn,它工作得很好,但它无法从上面提取变量,我不确定我做得是否正确。
read -p "Enter The Customer's Domain Name: " domainName
shortenedDomainName=$domainName | cut -f1 -d"."
sudo mysql -uroot -e "CREATE DATABASE wordpress$shortenedDomainName"
sudo mysql -uroot -e "GRANT ALL PRIVILEGES on wordpress$shortenedDomainName.* to 'admin_$shortenedDomainName'@'localhost' identified by 'arandompasswordhere';"
sudo mysql -uroot -e "FLUSH PRIVILEGES"
我希望脚本运行并根据输入的域名创建数据库,即:
Domain entered = howtofish.com
我希望创建数据库 wordpresshowtofish,并使用随 secret 码为用户 admin_howtofish 授予数据库的完全权限
但是,我得到的是:
Domain entered = howtofish.com
我制作了数据库wordpress,用户管理员使用随 secret 码获得了数据库的完全权限
最佳答案
下面的代码解决了这个问题。
read -p "Enter The Customer's Domain Name: " domainName
shortdomname=${domainName//.}
dbname=${shortdomname}_db
mysql -e "CREATE DATABASE ${dbname};"
mysql -e "GRANT ALL PRIVILEGES ON ${dbname}.* TO 'dbadmin'@'localhost' IDENTIFIED BY 'random';"
mysql -e "FLUSH PRIVILEGES;"
关于mysql - 如何使用用户输入的名称创建MYSQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57197470/