如何更改只读权限以设置 MySQL 服务器系统变量的新值

Posted

技术标签:

【中文标题】如何更改只读权限以设置 MySQL 服务器系统变量的新值【英文标题】:How to change read-only permission to set new value of MySQL server system variable 【发布时间】:2014-07-03 11:09:28 【问题描述】:

我是 mysql 新手;最近我在为系统变量设置新值时遇到了这个问题。

我试过了:

mysql> set global innodb_ft_min_token_size = 6;

但我收到此错误:

ERROR 1238 (HY000): Variable 'innodb_ft_min_token_size' is a read only variable

有没有办法改变只读权限?我阅读了有关InnoDB parameters 的信息,但无法解决问题。

【问题讨论】:

【参考方案1】:

从 MySQL 5.7.5 开始,innodb_buffer_pool_size 配置选项可以使用 SET 语句动态设置,允许您在不重新启动服务器的情况下调整缓冲池的大小。例如:

mysql> SET GLOBAL innodb_buffer_pool_size=402653184;

https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-resize.html

【讨论】:

【参考方案2】:

试试这个: 在/etc/mysql/my.cnf 文件中(您的位置可能不同,请执行locate my.cnf 以找到您系统的位置),添加/修改:

[mysqld]
innodb_ft_min_token_size = 2

将最小限制设置为 2。 不要忘记重启mysql服务器并重建全文索引。对我来说,以下内容就像一个魅力。

drop index index_stem on  maps;
CREATE FULLTEXT INDEX index_stem ON maps(stem_value);

【讨论】:

【参考方案3】:

The site you linked 包含所有需要的信息:

可以在服务器启动时通过命名它们来启用 true 或 false 的系统变量 [...]

采用数值的系统变量可以在命令行中指定为 --var_name=value 或在选项文件中指定为 var_name=value。

许多系统变量可以在运行时更改(请参阅第 5.1.5.2 节,“动态系统变量”)。

innodb_ft_min_token_size is not a dynamic variable 所以你必须更改配置文件my.cnf 并添加innodb_ft_min_token_size=6。或者,您需要更改 MySQL 服务器的启动命令。

更改后您必须重新启动 MySQL 服务器。

【讨论】:

我做了这些事情,但仍然没有得到修改后的值。 我使用链接文件访问 my.cnf 现在修改了 /etc 中的 my.cnf 所以现在我可以看到更改了。

以上是关于如何更改只读权限以设置 MySQL 服务器系统变量的新值的主要内容,如果未能解决你的问题,请参考以下文章

公司共享文件夹如何设置某个文件夹只读属性,不可更改复制删除等操作?

win10系统 为啥有完全控制权限也无法消除文件夹只读属性?

ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作 2linux 如何修改只读文件 3ubuntu安装

如何设置数据库的权限?

sql以只读模式打开连接

mysql数据库全局只读和会话只读问题解析