通过 CLI (Bash) 在一行中创建一个授权的、所有特权的用户和一个同名的数据库

通过 CLI (Bash) 在一行中创建一个授权的、所有特权的用户和一个同名的数据库

我经常需要在MySQL中做以下事情:

  1. 创建非root用户
  2. 设置该用户的密码
  3. 授予该用户所有权限
  4. 创建一个与新用户同名的数据库
  5. 仅允许来自 的用户使用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

相关内容