memsql安装后如何更改root密码?
How to change the root password after memsql install?
我已经安装了 MemSQL 社区版(单主机集群)并且一切正常。我需要允许远程访问数据库,但是 MemSQL 安装了没有密码的用户 root。如果我在防火墙上打开 3306 端口,memSQL 很乐意允许任何人以 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 默认为完全没有安全性。
有什么想法吗?
尝试
mysql --user=root --password=abc123 --host=127.0.0.1
or
mysql -u root -p abc123 -h 127.0.0.1
您可以通过以下方式更改 root 密码:
GRANT ALL ON *.* TO "root"@"%" IDENTIFIED BY 'password' WITH GRANT OPTION
在 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
我在 mysql 中更改 root 用户的密码时观察到一件奇怪的事情,如下所示。
mysqladmin -u root password 'mypassword'
出现错误
mysqladmin: unknown variable 'database=mydatabase'
这是因为 /etc/my.cnf 文件中设置了 mydatabase 变量。我注释掉了那一行,然后一切正常。
我想在这个帖子里分享这个。
在 2015 年 6 月发布的 MemSQL Ops 中,您现在可以使用 memsql-update-root-password
命令通过一条命令更改 root 密码。有关详细信息,请参阅以下链接:
- http://docs.memsql.com/4.0/ops/cli/MEMSQL-UPDATE-ROOT-PASSWORD/
- http://docs.memsql.com/4.0/admin/security/#adding-or-updating-the-root-password
希望对您有所帮助!
我已经安装了 MemSQL 社区版(单主机集群)并且一切正常。我需要允许远程访问数据库,但是 MemSQL 安装了没有密码的用户 root。如果我在防火墙上打开 3306 端口,memSQL 很乐意允许任何人以 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 默认为完全没有安全性。
有什么想法吗?
尝试
mysql --user=root --password=abc123 --host=127.0.0.1
or
mysql -u root -p abc123 -h 127.0.0.1
您可以通过以下方式更改 root 密码:
GRANT ALL ON *.* TO "root"@"%" IDENTIFIED BY 'password' WITH GRANT OPTION
在 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
我在 mysql 中更改 root 用户的密码时观察到一件奇怪的事情,如下所示。
mysqladmin -u root password 'mypassword'
出现错误
mysqladmin: unknown variable 'database=mydatabase'
这是因为 /etc/my.cnf 文件中设置了 mydatabase 变量。我注释掉了那一行,然后一切正常。
我想在这个帖子里分享这个。
在 2015 年 6 月发布的 MemSQL Ops 中,您现在可以使用 memsql-update-root-password
命令通过一条命令更改 root 密码。有关详细信息,请参阅以下链接:
- http://docs.memsql.com/4.0/ops/cli/MEMSQL-UPDATE-ROOT-PASSWORD/
- http://docs.memsql.com/4.0/admin/security/#adding-or-updating-the-root-password
希望对您有所帮助!