Category Archives: MySQL

mysql – search & replace HUGE databases

So!, I have with almost 3Gb… and I need to make a search & replace…
This looks the best way to me…

EXPORT FROM MYSQL > LINUX SEARCH & REPLACE > IMPORT TO MYSQL

Dump database to text file

mysqldump -u user -p databasename > ./db.sql

Run sed command to find/replace target string

sed -i 's!oldString!newString!g' ./db.sql

Reload the database into MySQL

mysql -u user -p databasename < ./db.sql

As copied from http://stackoverflow.com/questions/11839060/find-and-replace-text-in-the-entire-table-using-a-mysql-query

SELECT list is not in GROUP BY clause and contains nonaggregated column

 

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ” which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

 

Lets edit my.cnf

sudo nano /etc/mysql/my.cnf

and add the following lines to it, save and exit nano….

[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Lets restart mysql

sudo service mysql restart

It should work! 😉

 

dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

 

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘johnny.category.categoryId’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

 

Let run the following command in mysql…
it worked for me on mysql  Ver 14.14 Distrib 5.7.12, for Linux (x86_64) 

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';