I am trying to enable federated engine in mysql.For this I try to update my.ini file but my changes are not getting reflected on restarting the mysql service. I found that no matter whatever i put in my.ini the changes don't get reflected at all.
On googling i found a bug : MySQL Bugs: #49008: Applying changes to my.ini doesn't work
Is there any workaround for this without upgrading mysql?
Related
I am having a problem, I imported a spring boot project from git, the code is working perfectly fine in my teammates computers, but I get an error That I don't know how to solve, while running my java application I get this error :
Packet for query is too large (1072729 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
I read some answers about the subject, What I understood is that I have to make a change in my.ini file and change this value :
max_allowed_packet=500M
But it seems like I am unable to find my file location, I am working with MySQLWorkebench and I dont know where to find this file to make my change or any change.
Any help would be much appreciated.
You will find my.ini in either
32bit WAMPServer
C:\wamp\bin\mysql\mysqlx.y.z\my.ini
64bit WAMPServer
C:\wamp64\bin\mysql\mysqlx.y.z\my.ini
where mysqlx.y.z is the version of MySQL that you have installed. Remember there may be more than one version installed so check with the wampmanager icon menu which one is currently active
In my.ini under the section [wamp] or [wamp64] you will see the parameter
max_allowed_packet = 1M
Change that to the value you believe is required.
Remember to restart MySQL (using the wampmanager icon menus) after saving your change to my.ini
I see from reading around this is a very common problem and there are 2 recommended main solutions:
clear the temp files; and
check if another instance of MySQL is running.
Solution 1 - Clear files
I have cleared ib_logfile0, ib_logfil1 and iddata1. When I restart MAMP, it recreates these files but the server does not start.
Solution 2 - Close other instances of MySWL
I am unable to find a way to check if MySQL is already running else where. Reading around (inc MAMP help site), I should use Window task manager to search for "MySQLd" and close any instances that are running, however Win10 seems to have delete the search function from the task manager. A look through the processes did not show any though:
screen shot of windows task manager
Next I have seen people adding "innodb_force_recovery = 1" to my.cnf file. I searched for my.cnf but couldn't find it. Instead I tried adding the line to C:\MAMP\conf\mysql\my.ini and I also tried adding "innodb_force_recovery = 2". Neither worked.
I tried changing the port number that MySQL uses to 3307, that didnt work either.
Finally, I uninstalled and re-installed MAMP - didn't work.
The MySQL error log reads:
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
[Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
[Note] C:\MAMP\bin\mysql\bin\mysqld.exe (mysqld 5.7.24-log) starting as process 9044 ...
I think it would be useful if there is a way to check for instances of MySQL running via the command line, and then if they is one, how to close it from the command line.
Following steps fixed my issue
1. Stop your MAMP Server.
2. Find the db folder for mysql. In my case: C:\MAMP\db\mysql
3. Rename the mysql-bin.index file to mysql-bin_old.index
4. Start your MAMP Server
This question has been answered here:
MySQL Server on MAMP-Windows Will Not Start
The fix posted by this user apparently comes from MAMP support. My problem was identical to yours and it worked for me. The issue related to binary logging, which can be disabled in a configuration file.
Good luck.
This is what worked for me :
Click on Start Servers in MAMP
Manually click on mysql.exe in MAMP installation folder
C:\MAMP\bin\mysql\bin\mysql.exe
I am using MYSQL5.7, installed using msi option in Windows. I want to change the innodb_buffer_pool_size. I went through stackoverflow and find out how to change the mysql.ini file.
For MYSQL5.7, i tried to change the my.ini file in the below location as described in stackoverflow.
Option1;
C:\Program Files\MySQL\MySQL Server 5.7. I made the changes in the my-default.ini file and stopped the mysql service and started again. Its not working
So i copied the my-default.ini to my.ini and tried again. Its not working
Option2:
I echo the programdata, then i found another location. C:\ProgramData\MySQL and in that i found 4 ini files. I changed everything and stopped and started the MYSQL service. Its also not working.
Please help me to understand why the ini file is not reflected and how to resolve this issue
Keep my.ini file in stall mysql location, and run net stop mysql, net run mysql.
If net run mysql is ok, then my.ini will be ok.
I am using wamp wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b mysql version is 5.6.17. It provides mysql and php servers.
I want to track (see) the queries recently executed (from anywhere i.e a web page, desktop app or any service using mysql on mysqlserver.
I know "what to do" = > i have to enable query logging as told by http://dev.mysql.com/doc/refman/5.6/en/query-log.html
But i dont know "how to do" though i have seen How to enable MySQL Query Log?
but i am unable to find my.cnf anywhere. What i have is my.ini in wamp\bin\mysql\mysql5.6.17
As i use wamp so I am not familiar with mysql console. I want to know how (where) to set
general_log_file=/path/to/query.log
Using the WAMPServer menu system edit the my.ini file. WAMPServer uses a my.ini and not a my.cnf
(left click wampmanager) wampmanager->MySQL->my.ini
This will open the correct my.ini file with notepad.
Check for these parameters and if they dont exists add them under the section heading [wampmysqld] or if you are using 64bit WAMPServer the [wampmysqld64]
NOTE: If you are using the 64bit WAMPServer you may have to change [wampmysqld] to [wampmysqld64] as the 64bit release had a little bug in it and this section header was not set correctly. The filename may also be c:\wamp64 on 64bit WAMPServer systems.
log-output = FILE
general_log = 1
general_log_file=C:/wamp/logs/general-query.log
Save the file and then restart MySQL Server (restart WAMP in your case)
Check in the C:\wamp\logs folder for the new general-query.log file.
If 64bit version, be sure the log will be created in
"C:/wamp64/logs/general-query.log"
instead of "C:/wamp/logs/general-query.log".
How to enable inno-db support on installed instance of MySql?
I have installed mysql-5.0.67-win32.
'InnoDB' is 'DISABLED' when executing 'show engines'.
According to documentation MySql is compiled with support of inno-db
(From doc: A value of DISABLED occurs either because the server was started with an option that disables the engine, or because not all options required to enable it were given.)
In my.ini I commented line with 'skip-innodb'. This didn't help.
All other inno-db related variables remain unchanged.
I have performed some unusual action before I experienced described situation.
I have mysql-4.0.17-win installed. I uninstall it and after this installed mysql-5.0.67-win32.
In installation wizard I chose MyISAM support only (as far as I understand I disabled inno-db support in such way. When I tried to reinstall with support of inno-db I had problems of using my previous database 'mysql' with account information).
MySQL documentation says that I should use mysqldump to export data and after this to import exported data in process of upgrade. I tried to do so, but when importing data I obtained message about syntax error (I think that it is connected with some incompatibilities of 4-th and 5-th version of mysql)
Should be enabled by default. There are some situations where wrong permissions on the MySQL lib folder cause InnoDB to bark. Check your MySQL error log for permission errors.
I do have the following innodb options in my.ini. It is a very minimal configuration, so dont' use this values if you would like mysql to have a good performance. Please restart mysql after a change of my.ini.
#*** INNODB Specific options ***
innodb_data_home_dir="C:/mysqldata/"
#skip-innodb
innodb_additional_mem_pool_size=120M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
innodb_buffer_pool_size=10M
innodb_log_file_size=2M
innodb_thread_concurrency=8
Maybe you have inno-db disabled in the global configuration file. On Linux this would be something like /etc/mysql/my.cnf - maybe Windows has a similar global conf-file.
Make sure you are changing the correct my.ini file. On Windows this is read from many locations. The order is:
WINDIR\my.ini, WINDIR\my.cnf
C:\my.ini, C:\my.cnf
INSTALLDIR\my.ini, INSTALLDIR\my.cnf
defaults-extra-file
Type mysql --help in the command prompt to see the actual order on your computer e.g.:
Default options are read from the
following files in the given order:
C:\my.ini C:\my.cnf C:\WINDOWS\my.ini
C:\WINDOWS\my.cnf C:\Program
Files\MySQL\M ySQL Server 5.0\my.ini
C:\Program Files\MySQL\MySQL Server
5.0\my.cnf
have you checked the startup parameters? maybe the shell script or batch file that you use to start up the server disable the engine on the command line.. IIRC command line flags trumps the .ini settings.
I have resolved the problem.
In short:
I was not able to dump databases on MySql4 and restore it on MySql5 due to some strange syntactic errors when importing data.
I tried after installation to override MySql5 databases with old ones, including database 'mysql'. It works ok but I was not able to enable inno-db support. (In such way I even was able to use function PASSWORD for old passwords (instead of OLD_PASSWORD))
Since database structure of 'mysql' is changed in 5 version I tried to install MySql5 again and copied my old databases except 'mysql' one. After this I updated 'mysql' database with corrected version of exported data from 'mysql'. In such a way I obtained mysql 5 working.
After all I also executed mysqlcheck --all-databases --auto-repair
to upgrade my tables.
P.S. Thank to authors of all answers which hint me to the correct way of resolving problem.