![通过 CLI (Bash) 在一行中创建一个授权的、所有特权的用户和一个同名的数据库](https://linux22.com/image/120601/%E9%80%9A%E8%BF%87%20CLI%20(Bash)%20%E5%9C%A8%E4%B8%80%E8%A1%8C%E4%B8%AD%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%8E%88%E6%9D%83%E7%9A%84%E3%80%81%E6%89%80%E6%9C%89%E7%89%B9%E6%9D%83%E7%9A%84%E7%94%A8%E6%88%B7%E5%92%8C%E4%B8%80%E4%B8%AA%E5%90%8C%E5%90%8D%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93.png)
我经常需要在MySQL中做以下事情:
- 创建非root用户
- 设置该用户的密码
- 授予该用户所有权限
- 创建一个与新用户同名的数据库
- 仅允许来自 的用户使用
localhost
。
以前我使用 PHPmyadmin 执行此操作,但我更喜欢直接从 BASH 执行此操作。有 CLI 方法来执行这些步骤吗?
答案1
这对我有用:
echo 'create database testdb; create user "testdb"@"%" identified by "mypassword"; grant all privileges on testdb.* to testdb;' | mysql -u root -p
百分号表示可以从其他系统建立到此数据库的连接。如果您只需要一个需要访问和来自同一系统的帐户,请将其替换%
为。localhost