如何在memsql安装后更改root密码?

时间:2015-05-24 05:03:32

标签: memsql

我已经安装了MemSQL社区版(单主机群集),一切运行良好。我需要允许远程访问数据库,但MemSQL在没有密码的情况下安装用户root。如果我打开防火墙上的3306端口,memSQL很乐意允许任何人以root身份登录而无需密码。

我尝试通过

更改root用户密码
mysqladmin -u root -h 127.0.0.1  password abc123

但是我得到

的错误
mysqladmin: unable to change password; error: 'Unknown system variable 'password''

我也尝试在以root身份连接后进行更改。所有这些都失败了:

mysql> SET PASSWORD = 'abc123';
ERROR 1193 (HY000): Unknown system variable 'PASSWORD'

mysql> SET PASSWORD = PASSWORD('abc123');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('abc123')' at line 1

mysql> SET PASSWORD = OLD_PASSWORD('abc123');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('abc123')' at line 1

所以我被卡住了。 MemSQL的文档在这个问题上也非常轻量级,而且它们似乎没有社区页面,我可以在这里询问这个问题。我认为这是我想要做的非常简单的事情,不知道为什么它如此困难,而且就此而言,我不确定为什么MemSQL默认没有安全性所有

有什么想法吗?

4 个答案:

答案 0 :(得分:6)

在2015年6月发布的MemSQL Ops中,您现在可以使用memsql-update-root-password命令通过一个命令更改root密码。有关更多信息,请参阅以下链接:

我希望这有帮助!

答案 1 :(得分:5)

在MemSQL中更改用户密码时,应使用GRANT命令:

grant all on *.* to 'root'@'localhost' identified by 'password' with grant option;
grant all on *.* to 'root'@'%' identified by 'password' with grant option;

请参阅GRANT命令手册和配置群集安全性的非常详细的手册:

http://docs.memsql.com/latest/ref/GRANT/

http://docs.memsql.com/latest/admin/security/#configuring-password-security

答案 2 :(得分:1)

尝试

mysql --user=root --password=abc123 --host=127.0.0.1
or
mysql -u root -p abc123 -h 127.0.0.1

参考:Mysql man page.

您可以使用以下命令更改root密码:

GRANT ALL ON *.* TO "root"@"%" IDENTIFIED BY 'password' WITH GRANT OPTION

答案 3 :(得分:0)

我在mysql中更改root用户的密码时发现了一个奇怪的事情,如下所示。

mysqladmin -u root password 'mypassword'

错误

mysqladmin: unknown variable 'database=mydatabase'

原因是在/etc/my.cnf文件中设置了mydatabase变量。我评论了那条线,然后一切正常。

我虽然在这个帖子中分享了这个。