如何在 Ubuntu 16.04 中启动 MySql 服务时 运行 MySQL 在 MySQL 中的固定数据库中查询?
How to run MySQL query in fixed database in MySQL at startup of MySql service in Ubuntu 16.04?
我必须每天 MySQL 在数据库 ABC 中 运行 这些查询。
set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
除了来自 cronjob 的 运行ninf 之外,运行 MySQL 中 UBUNTU 中的这些查询有什么方法吗?
您可以直接从 MySQL 控制台执行此操作
mysql -umyuser 数据库名 -p -A
set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
如果你想直接做你可以按照here
的步骤在mysql配置文件中添加它
首先,我们找出我们的 MySQL 安装更喜欢哪个配置文件。为此,我们需要二进制文件的位置:
$ 其中 mysqld
/usr/sbin/mysqld
然后,我们使用这个路径执行查找:
$ /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
默认选项按给定顺序从以下文件中读取:
/etc/my.cnf /etc/mysql/my.cnf~/.my.cnf
首先,我们找出当前的sql模式:
mysql -u homestead -psecret -e "select @@sql_mode"
+---------------------------------------- ---------------------------------------------- --------------------------------------------+
| @@sql_mode |
+------------------------------------------------ ---------------------------------------------- --------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------ ---------------------------------------------- --------------------------------------+
我们打开我们之前决定的配置文件 (/etc/mysql/my.cnf) 并将以下行添加到 [mysqld] 部分:
# ...其他东西可能会在这里
[mysqld]
sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
保存,退出,重启MySQL:
sudo 服务mysql 重启
SQL 模式已永久更改,我可以继续开发遗留项目,直到我需要一些额外的严格性。
我必须每天 MySQL 在数据库 ABC 中 运行 这些查询。
set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
除了来自 cronjob 的 运行ninf 之外,运行 MySQL 中 UBUNTU 中的这些查询有什么方法吗?
您可以直接从 MySQL 控制台执行此操作
mysql -umyuser 数据库名 -p -A
set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
如果你想直接做你可以按照here
的步骤在mysql配置文件中添加它首先,我们找出我们的 MySQL 安装更喜欢哪个配置文件。为此,我们需要二进制文件的位置:
$ 其中 mysqld /usr/sbin/mysqld
然后,我们使用这个路径执行查找:
$ /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
默认选项按给定顺序从以下文件中读取: /etc/my.cnf /etc/mysql/my.cnf~/.my.cnf 首先,我们找出当前的sql模式:
mysql -u homestead -psecret -e "select @@sql_mode"
+---------------------------------------- ---------------------------------------------- --------------------------------------------+ | @@sql_mode | +------------------------------------------------ ---------------------------------------------- --------------------------------------+ | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +------------------------------------------------ ---------------------------------------------- --------------------------------------+ 我们打开我们之前决定的配置文件 (/etc/mysql/my.cnf) 并将以下行添加到 [mysqld] 部分:
# ...其他东西可能会在这里
[mysqld]
sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
保存,退出,重启MySQL:
sudo 服务mysql 重启 SQL 模式已永久更改,我可以继续开发遗留项目,直到我需要一些额外的严格性。