I recently moved a working CI application to a new server (AWS/Ubuntu). This new server is running PHP 7 instead of PHP 5.4 installed before. MySQL is newer too and changed mysql to mysqli. CodeIgniter is still 2.x (planning to upgrade to 3.x in the upcoming weeks).
Managed to solve some .htaccess and routing issues but now I'm getting a database error:
A Database Error Occurred
Error Number: 1366
Incorrect integer value: '' for column 'propertyDateEffect' at row 1
Since this was already working before first thing I did was checking server settings. I noticed sql_mode was "STRICT" so I modified my.cnf and it now looks like: IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION with TRADITIONAL instead of STRICT_TRANS_TABLES. This however, after a mysql restart, didn't fixed the error.
What else could it be?
Related
We have built RFID based system identification application in LabView using MySQL as database.
We have one same software running on two similar computers. Few months before application was running properly on both the computers. Now one is running smoothly but the second one gives following error.
ADO error: 0x80040e14 exception occurred in microsoft ole db provider for odbc drivers [MYSQL] [ODBC 8.0(a)] [mysqld-8.0.20] You have an error in your SQL syntax; check the manual corresponds to your MySQL version for the right syntax yo user near "RFID_tag_number' at line 1 in NI_Database_API.lvlib:Conn Execute.vi...till path of the file.
As you can see there is double inverted comma before RFID_tag_number in the error, but in our code we have only used single inverted comma as it is a string value. We tried to copy complete application from the computer where it is properly running to the second computer but still getting the same error.
The only difference between both computers we found is -
In the computer running properly - In MySQL Workbench >Administrator >Server Status, the Configuration Path is My SQL Server 5.7\my.ini
And in the second computer it is My SQL Server 8.0\my.ini.
We don't know if this is the reason for the error or how the configuration path affects the application. We even tried to remove MySQL server 8.0 completely from computer with the issue and installed MySQL server 5.7 but still the path remained same.
Can anyone help us? We are new to LabView working with MySQL.
What I understand, error will throw for incorrect query,it might be required handling special characters.
Second if same data base access by both system
,system required same version my mysql and odbc driver also.
Third, when you try to remove mysql, delete hidden files in c drive then install new version
I work with Eclipse and I want to use the version 7 of Liferay but when I run my Tomcat server I have an error with MySQL.
Please upgrade to at least MySQL 5.6.4. The portal no longer supports older versions of MySQL
Like this the problem is pretty obvious but my SQL version is already 5.7.19
I have check my driver of MySQL in preference->data management->connectivity->driver definition and my MySQL JDBC Driver is 5.1
I want to know if someone already had this issue and know how to fix it
This is how the version gets validated, and this is how the version string gets constructed. I'd say: Please make extra extra extra sure that you are addressing the mysql server that you intend to address:
You can check your mysql version from the mysql command line client by executing select version();. Get your credentials and database URL from Liferay's portal-ext.properties or your appserver's connection pool configuration, depending on where you configured it.
I'm trying to set the lower_case_table_name value to 2, since it is a Windows server. But when I start MySQL Workbench and connect to my server I get the following error:
A server is in a system that does not properly support the selected lower_case_table_names option value.
Shouldn't a Windows server support a value of 2? I'm running MySQL 5.6 on Windows Server 2012 and using MySQL Workbench 6.3.
You can safely ignore this error.
I recently installed MySQL on a new Windows computer and got this error as well after setting lower_case_table_names to 2. I don't remember seeing it previously. However, despite the error it seems to be working properly..tables are created with the proper case and I can do case-insensitive lookups.
Changing the value to lower_case_table_names = 1 prevents the warning. The windows default is 1. For the setting of this variable see:
https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html
I am using MYSQL and EF5(DB first) with connector/net 6.8.3.0. Everything works fine on my local machine but when I upload it to server it throws exception "Facet 'Precision' must not be specified for type 'datetime'".
Please let me know what is the reason.
Precision for datetime is added with MYSQL version 5.6 and I have generated the entities with latest MYSQL, so by default precision is added to the ssdl.
But on my server older version of MYSQL server was installed. This is the reason why it was throwing the exception.
Now with MYSQL server 5.6 we can have datetime(5) where 5 is the precision.
So we can have microsecond for datetime in MYSQL.
I too have been getting the "Facet 'Precision' must not be specified for type 'datetime'" error after publishing, but the cause of my problem differs from the OP's.
My Personal Solution
I have two independent servers: 'server1' with the EF5 web app, 'server2' with the database server1 references. Debugging the app on my local machine was no problem; but after I published to server1 the app kept crashing while trying to load. After much searching and testing I narrowed it down to either a configuration issue either with my application or MySQL. Finding this post (thank you kindly, user3275493, for answering your own question), I checked server2's MySQL config but alas it was already running MySQL Server 5.6. Just to be thorough (in reality this took me several days to realize), I decided to check MySQL Connecter and discovered that my local machine's was version 6.8.3 while server1's was version 5.6. After I updated Connector, I published my web app and it ran without flaw!
Simple Explanation
Not only will this error be caused by a MySQL version disagreement between Entity Framework and MySQL Server, but also between Entity Framework and MySQL Connector!
Our MySQL error log contains several thousands of the following Warning: Client failed to provide its character set. 'utf8' will be used as client character set.
We're using MySQL 5.6.14 CE Server on Windows Server 2012. I can't figure out how to get the warning to go away.
I've tried updating the ODBC DSN to use a specific character set, tried setting the charset in the connection string, and tried setting numerous variables in my.ini, and restarted the database. Nothing seems to work.
I updated the connector for our websites to the latest version and this warning has stopped appearing. I'm just going to go out on a limb and guess that the 1.10.1.0 version of MySQL Connector/.Net was not passing the charset variable I had placed in our connection strings.
Still curious why --log-warnings=0 parameter prevents the MySQL service from starting, and why log-warnings=0 in the my.ini did not stop the warning from showing up in the error log, but I guess that is another question.