首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql用户创建脚本

Mysql用户创建脚本
EN

Stack Overflow用户
提问于 2012-03-02 07:38:31
回答 6查看 47.2K关注 0票数 26

我正在尝试自动化MySQL用户创建过程。我想创建一个包含mysql用户创建语句的临时文件,然后我会这样称呼它:

mysql -u根-proot < temp

但是我仍然坚持mysql语法:以下是我的临时文件的内容:

代码语言:javascript
复制
DROP DATABASE IF EXISTS mytestdatabase;
CREATE DATABASE mytestdatabase;
SELECT @password:="my password";
DELETE FROM mysql.user WHERE Host='localhost' AND User='mytestdatabase';
GRANT ALL PRIVILEGES ON mytestdatabase.* TO 'mytestdatabase'@'localhost' IDENTIFIED BY PASSWORD '@password';
FLUSH PRIVILEGES;

但这条线

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON mytestdatabase.* TO 'mytestdatabase'@'localhost' IDENTIFIED BY PASSWORD '@password';

(密码散列应为41位十六进制数字)

并没有像我所期望的那样被解读。即使删除@password标签周围的单引号,我仍然存在错误(语法错误)。

我怎么才能把这事做好?

EN

回答 6

Stack Overflow用户

发布于 2012-03-02 08:03:44

如果你不想用明文存储密码,那就用散列格式保存它-

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON mytestdatabase.* TO 'mytestdatabase'@'localhost'
  IDENTIFIED BY PASSWORD '*7560636C2922C05954FE6A2446AA00C84708B57B';

其中哈希密码是这个查询的结果-

代码语言:javascript
复制
SELECT PASSWORD('my password');
票数 13
EN

Stack Overflow用户

发布于 2016-12-22 06:23:15

我也有同样的问题,它是通过设置密码通过下面提到的查询来解决的。

SET PASSWORD FOR 'user'@'localhost' = PASSWORD('MyNewPass');

票数 8
EN

Stack Overflow用户

发布于 2013-04-12 11:17:46

看看下面的url,这将帮助您解决这个问题:

http://linuxadministrator.pro/blog/?p=147

代码语言:javascript
复制
mysql> select password('12345');
+-------------------------+
| password('123456') |
+-------------------------+
| 2ff898e158cd0311        |
+-------------------------+
1 row in set (0.00 sec)

mysql> create user test identified by password '2ff898e158cd0311';
Query OK, 0 rows affected (0.00 sec)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9529651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档