المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : السي بانال WHM/CPanel غلق disable ONLY_FULL_GROUP_BY in MySQL



Rise Company
07-04-2021, 16:03
السي بانال WHM/CPanel غلق disable ONLY_FULL_GROUP_BY in MySQL
Remove ONLY_FULL_GROUP_BY in WHM/cPanel
Incompatible with sql_mode=only_full_group_by [Fix]



Shared Hosting If you are on a shared hosting, you will not be able to change the sql_mode at the environment level.


If your domain is on a cPanel (Shared Hosting), then you need to contact your hosting provider to update the same.
If you have access to WHM, then access PHPMyAdmin under SQL Services from WHM as shown below:


https://www.rise.company/forum/images/imported/2021/04/1.jpg
Click on Variables from the menu and search for SQL_MODE
https://www.rise.company/forum/images/imported/2021/04/2.jpg
Click on edit button and change remove ONLY_FULL_GROUP_BY. Once edited, click on save.

https://www.rise.company/forum/images/imported/2021/04/3.jpg
That’s it!

ملحوظة هامة :

فى الغالب هتجد لديك


STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

ولن تجد ONLY_FULL_GROUP_BY وبالتالى لا يوجد شىء تريد عمله لتعطيله فهو معطل فى الاصل.

------------------------------------------------------------------

طريقة اخري

Remove ONLY_FULL_GROUP_BY in my.cnf file
If you have access to MySQL configuration file my.cnf, open the file:


# vim /etc/mysql/my.cnf

and add the below line to the end of the file:


[mysqld]
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,E RROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_E NGINE_SUBSTITUTION"
Restart the MySQL service:

---------------------------------------------------------------------------------------------------


Question

How do I disable ONLY_FULL_GROUP_BY in MySQL?

Answer

To disable ONLY_FULL_GROUP_BY in MySQL, you will need to remove ONLY_FULL_GROUP_BY from the sql-mode setting by using the MySQL configuration file /etc/my.cnf. This file can only be modified via SSH as the root user or WHM >> Terminal. ONLY_FULL_GROUP_BY can not be disabled for a single account or database.

You may follow these steps to disable ONLY_FULL_GROUP_BY:

1. Log into your server via SSH as the root user or navigate to WHM >> Terminal.

2. Run the following command to determine which sql_mode options are enabled and copy the output:


mysql -sse "SELECT @@GLOBAL.sql_mode;"
Example output (Do not copy the output shown below as it may contain options that are incompatible with your version of MySQL):


ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_ DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AU TO_CREATE_USER,NO_ENGINE_SUBSTITUTION
3. Open the /etc/my.cnf file using any command-line text editor you prefer (ex: vi, vim, nano, or other).

Examples: (Also see: How to edit a file on command-line (https://support.cpanel.net/hc/en-us/articles/360056554194-How-to-edit-a-file-on-command-line))



vi /etc/my.cnf vim /etc/my.cnf nano /etc/my.cnf
4. Add sql-mode= to the bottom of the [mysqld] section, followed by the output you copied in step 2, and remove ONLY_FULL_GROUP_BY.

Example (Do not copy the sql-mode line shown below as it may contain options that are incompatible with your version of MySQL):


sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_D ATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER ,NO_ENGINE_SUBSTITUTION
5. Save and close the file.

6. Restart MySQL to load the change by running the following script:


/scripts/restartsrv_mysql
7. Run the following command to confirm ONLY_FULL_GROUP_BY was removed from the enabled sql_mode options:


mysql -sse "SELECT @@GLOBAL.sql_mode;
You may also find our article on How to change the SQL mode in MySQL or MariaDB (https://support.cpanel.net/hc/en-us/articles/360050089274) helpful for more information.


المرجع:
https://techglimpse.com/ncompatible-with-sql_modeonly_full_group_by/
https://support.cpanel.net/hc/en-us/articles/360050089274