gpt4 book ai didi

MySQL 创建表问题与 --read-only 错误

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:12 25 4
gpt4 key购买 nike

我想在 MySQL 中创建一个对他自己的数据库拥有所有权限的用户。

当我使用该用户创建表时,MySQL 返回 SQL 服务器正在以只读选项运行。

但是,当我更改为另一个对 *.* 具有所有权限的现有用户时,我可以毫无错误地创建表。

我想知道只读选项是全局的还是什么?

以下是我使用 MySQL root 的 MySQL 命令:

mysql> create user 'demo'@'localhost' identified by 'demo';mysql> create database demo;mysql> grant all privileges on demo.* to demo@localhost;mysql> show grants for demo@localhost;+-------------------------------------------------------------------------------------------------------------------+| Grants for demo@localhost                                                                                   |+-------------------------------------------------------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'demo'@'localhost' IDENTIFIED BY PASSWORD '*demo-hashed*' || GRANT ALL PRIVILEGES ON `demo`.* TO 'demo'@'localhost'                                                |+-------------------------------------------------------------------------------------------------------------------+2 rows in set (0.00 sec)

然后我切换到用户“demo”:

mysql> use demo;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> create table t(t1 int);ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement

所以我勾选了只读选项,好像是打开的。

但是我尝试使用另一个对 *.* 有权限的用户,我可以成功创建表。

另一个用户授权设置:

mysql> show grants for demo2@'%';+-----------------------------------------------------------------------------------------------------------------+| Grants for demo2@%                                                                                            |+-----------------------------------------------------------------------------------------------------------------+| GRANT ALL PRIVILEGES ON *.* TO 'demo2'@'%' IDENTIFIED BY PASSWORD '*demo2-hased*' |+-----------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)

MySQL版本:

mysql> select version();+------------------------+| version()              |+------------------------+| 5.1.68.0 |+------------------------+1 row in set (0.00 sec)

顺便说一句,在我设置read_only = 0 之后,我可以使用demo 创建表。我只是不知道为什么 demo2 可以在只读打开时创建表。

谢谢!

最佳答案

请检查 [mysqld] 下的 My.cnf for Linux 或 My.ini for windows 删除只读参数然后重新启动服务然后再试一次,这将解决只读问题,但如果您以只读方式创建表,那将是一个临时表。

关于MySQL 创建表问题与 --read-only 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com