Asterisk Realtime not working after MySQL upgrade to 5.7 version - mysql

Asterisk (version 11 & 13) Realtime was working fine with MySQL version 5.5 but when I upgraded MySQL 5.7. It stops working and following errors appeared:
ERROR[17524] res_config_mysql.c: MySQL RealTime: Failed to connect database server <database-name> on localhost (err 2003). Check debug for more info.
WARNING[17524] res_config_mysql.c: Table <table-name> not found in database. This table should exist if you're using realtime.
There was no issue in config files, database and table but it happens after MySQL upgraded from 5.5 to 5.7 version.
Can anyone help me to fix this issue or I should downgrade MySQL to previous version?

Changing your my.ini or my.cnf in [mysqld] section to include
log_warnings=2 will provide the maximum detail on connection failures.
Post into original question content of your present my.cnf OR my.ini and error log and someone will likely be able to assist.

Please note, you also may have rebuild asterisk with new mysql-devel.

Related

How do I disable the SSL requirement in MySQL Workbench?

It seems that an SSL connection is required to use MySQL Workbench, and I don't think this is the case with previous versions.
I remember SSL connections used to be optional. After I updated it, all options are locked to require SSL.
How do I bypass this? I'm just a student and setting up SSL is out of my reach.
Screenshot:
Here is the correct solution for version +8.0.x.
When the program starts, the edited configuration files are changed again.
Therefore, you need to add useSSL=1 in advanced.
I solved this by editing the connections.xml configuration file.
Under ~/.mysql/workbench/connections.xml, I searched for the connection name and changed
<value type="int" key="useSSL">2</value>
to
<value type="int" key="useSSL">1</value>
MySQL Workbench has released 8.0.28
It solves this bug. Wow. I am happy.
In Mac OS X there is this issue.
My version is mysql-workbench-community-8.0.27-macos-x86_64.dmg.
I have downgraded to mysql-workbench-community-8.0.26-macos-x86_64.dmg, and it has solved it.
This issue has been reported to the MySQL team. See Test Connection in Workbench fails since SSL required (Bug #105327).
In the bug report, the development team replies that this issue will be fixed in 8.0.28.
Someone may be waiting for the fix, but check for the newest version on the download page.
I found this solution on Stack Exchange and worked for me just fine on Windows 10. This is the original post: MySQL Workbench: "ssl is required but the server doesn't support it".
Look for the fehrlich's answer. I will describe it here as in the original post:
You can bring back the old SSL options in 8.0.27:
Close MySQL Workbench
Go to you MySQL Workbench install folder (p.e. C:\Program Files\MySQL\MySQL Workbench 8.0 CE)
open the file modules/data/mysql_rdbms_info.xml
replace all occurrences of
">2|Require,3|Require and Verify CA,4|Require and Verify Identity"
with ">0|No,1|If available,2|Require,3|Require and Verify CA,4|Require
and Verify Identity"
Now you have the old options back.
Original image
I don't know if it may be the right approach for you, but I downgraded my version of MySQL Workbench to 6.3 and uninstalled the previous version. It will then give you the "if available" option for SSL. As you are right, it is not the case for previous versions, however you do lose a few more modern features in the process.
MySQL Product Archives
Another solution as well is to connect to connect to the database in 6.3 and since the configuration saves are in the same location, upgrade to 8.0 where it will still have the old configuration file and won't use SSL due to backwards compatibility.
I am using MySQL server 5.6. Uninstall and install MySQL Workbench 8. It's working.
I encountered this error when I was trying to export or import database from AWS RDS. I had Mysql Workbench on my system and also had Mysql installed locally.
As none of the solution mentioned here worked for me, I went further to investigate the error. I found out that the Workbench Default Target Mysql is 8.0.15 and my natively installed version of Mysql was 5.7.24, meaning the Mysqldump tool I was using didn't support the SSL protocol.
I bumped the natively installed Mysql to 8.0.18, and pointed the dump tool to it and it worked as expected.
Hope this helps someone too.

MySQL workbench says bad handshake

I tried connecting the database from the server, but MySQL Workbench says that the connection cannot be made and declaring it as Bad Handshake. Can someone help me with this? But if I use the same user id and password and DB connections, it works on the other computer systems. Can someone solve this issue?
The authentication has changed from mysql V8, you must use a compatible client and server.
BTW it's a bug : https://bugs.mysql.com/bug.php?id=91828
Here is a workaround without uninstalling the new workbench.
The most probable case is having an old server with a new workbench:
get the server version
From a SQL cli tool:
SHOW VARIABLES LIKE "%version%";
or from a cli connected on the server:
$ mysql -v
It should show a version < 8.0, in my case 5.1.73
Get the mysqlWorkbench for a version <8.0:
You cannot install the msi if you already have a workbench V8.0, so you have to choose a portable installation form a zip file here:
https://dev.mysql.com/downloads/workbench/6.1.html
Select the version 6.2.5 (last before v8.0) zip version
Unzip
Close the workbench v.8 (it lock any other workbench launch)
Launch the V6.2.3 version of workbench, it should works.
This is probably because of a mismatch in the versions of MySQL servers.
Check the version of the MySQL server you are trying to connect to, and the version you have installed on the computer you are using, they have to be the same.
The reason of this warning is version problem. If you have installed mysql server version <= 5.1 and your remote server mysql version is greater than that you will face this problem. I recommend you to install 5.7 or greater in both your local and remote server. This problem will be fixed.
Fortunately there is an easy way around this. Use the old MYSQL ADMINISTRATOR tool as shown below. In my case I was trying to open a MySQL 5.1 database for a clients WordPress installation with MySQL Workbench 8 and that did not work out :).
ALl credits goes to https://www.urtech.ca/2019/01/solved-bad-handshake-mysql-workbench-failed-to-connect-to-sql/
Follow this link for the details
https://www.urtech.ca/2019/01/solved-bad-handshake-mysql-workbench-failed-to-connect-to-sql/

ERROR 1193 (HY000): Unknown system variable 'GTID_PURGED'

I took backup of database from workbench from a remote server. So when I import it on my local environment I got error:
ERROR 1193 (HY000): Unknown system variable 'GTID_PURGED'
I'm using xampp server
Getting same error either import db via console or phpmyadmin
Need remove all lines with GTID_PURGED
sed -i '/##GLOBAL.GTID_PURGED=/d' your_file.sql
The final file will load without problems
After spending a lot of time.
I opened my database file in text editor and search for this variable "GLOBAL.GTID_PURGED". I just set it's value ""
like
SET ##GLOBAL.GTID_PURGED=""
Then I upload database via windows console now It works like a charm :)
Re-create the dump file by appending the --set-gtid-purged=OFF option would resolve the problem.
It was because GTIDs was added in MySQL 5.6, which is not recognized by the earlier versions.
Your command might look like below:
mysqldump -u username -ppassword -h mydbhost --set-gtid-purged=OFF db_name > dump_file.sql
More on my story, I got the same problem with a dump file originated from MySQL 5.7. I was trying the import the data into a new CentOS 7 installation with the default MariaDB installation, which is 5.5 (I guess).
The first idea came to my mind was to upgrade to latest MariaDB. Luckily their website provides a great utility to help set the package repository for Linux variaties. Moreover, digitalocean has a very short and clear guide for the upgrade process, thanks to them too!
While upgrading to the lastest MariaDB stable version 10.2 does NOT get rid of this problem. So I still have to use the option mentioned above, but it let me upgrade to the latest MariaDB anyway.
Another problem after my upgrading was that the innodb_additional_mem_pool_size config from my-innodb-heavy-4G.cnf is not supported anymore on the latest MariaDB, server failed to start. From the MySQL documentation, it was removed from MySQL 5.7. I can start the server after commenting it out. I'm not the DB expert, I would not spend more time to check how exactly MariaDB version mapping to MySQL DB, and what difference they have.
Kindly follow below step to resolve this.
Open your DB dump in notepad++/notepad
Search for SET ##GLOBAL.GTID_PURGED="[some value will be here]"
Just remove this [SET ##GLOBAL.GTID_PURGED=""] line from the db dump
Save your DB dump and try to import now.
This is working for me and I hope this will work for you as well .
You can also set the set-gtid-purged=OFF from MySQL workbench, before running the dump, click on advance options and change the AUTO to OFF under set-gtid-purged. run the dump and there should be no problem restoring to a different MySQL version.
It may be tricky to load the file and edit it if this is a large database. Here is how I did it:
I located the line number with less -N dump.sql. It was at line 24.
Then I commented that line with sed -i '24s/SET/\#SET/' dump.sql.
Finally, the mysql command to import the database dump worked.

DataGrip reports "Unknown system variable 'query_cache_type' when connecting to MySQL

When using DataGrip to connect to MySQL, there is a connection error. I know it can be solved by modify MySQL server configuration, but is there a client way?
[HY000][1193] Unknown system variable 'query_cache_type'
Are you using MySQL 8.0.3? The new version has removed support for the query cache (for good reason), and the variables that pertain to it.
https://dev.mysql.com/doc/refman/5.7/en/query-cache.html says:
Note
The query cache is deprecated as of MySQL 5.7.20, and is removed in MySQL 8.0.
I just installed the latest DataGrip 2017.2.2 and the latest MySQL 8.0.3-RC and I can reproduce the error you report. I was able to use DataGrip fine with MySQL 8.0.1.
I have logged a bug with DataGrip: https://youtrack.jetbrains.com/issue/DBE-5212
Update: the JetBrains bug report referred me to this MySQL JDBC driver bug: https://bugs.mysql.com/bug.php?id=87846
TL;DR:
You need to use Connector/J 5.1.44 to connect to MySQL 8.0.3.
I followed these steps:
Download the free MySQL Connector/J 5.1.44 from https://dev.mysql.com/downloads/connector/
Open DataGrip's Data Sources inspector with Cmd-;
Select the MySQL driver
Uncheck the use of the bundles MySQL Connector/J
Click "+" to add a file, and select the MySQL Connector/J jar that I had downloaded
Restart DataGrip
Once I had done that, queries in DataGrip work against MySQL 8.0.3.
I changed the driver to MariaDB and that works for me.
Changing to the last version of MySQL didn't help.

MySQL Workbench incompatible/nonstandard server

I am new to using MySQL and I needed to download it for school, however, I keep getting this error message (picture below). I am using xampp and connecting using the username root. the port also matches what it is telling me. It will let me proceed but a lot of the features are missing. Any help at all would be appreciated.
Incompatible/nonstandard server version or connection protocol
detected (10.0.10).
A connection to this database can be established but some MySQL
Workbench features may not work properly since the database is not
fully compatible with the supported versions of MySQL.
MySQL Workbench is developed and tested for MySQL Server versions 5.1,
5.5, 5.6 and 5.7
As I can see, You are using latest XAMPP.
All you need to do is, after opening MySQL Workbench, and instead of setting up a new connection, Press CTRL+R or click on DATABASE tab in the top menu. Select Reverse Engineer and provide necessary information. You are good to go now.
The MySql workbench wont crash or show any compatibility issue now.
The current version of XAMPP uses MariaDB instead of MySQL.
Because MySQL Workbench is designed to work with MySQL and not with the very similar drop in replacement MariaDB, you are gonna have problems ...
So, if you want to use MySQL Workbench with XAMPP then a solution would be to try installing the last version of XAMPP that uses MySQL. That version is probably 1.8.3 from (August of 2014?). You can download it here:
XAMPP Sourceforge old versions
If you are using the latest XAMPP that uses MariaDB, in that case in your MySQL Workbench don't use 'Connect to Database' instead use 'Reverse Engineer' and provide the necessary credentials. That's all, No hassle.
I encounter the same message followed by a crash of MySQL Workbench, with version 6.3.7 (build 1199).
I didn't find a solution, but here is a work-around:
Once you press the button Continue anyway, just open a database use toto, and then wait a bit (a minute is enough in my case), and then you can call a query without a crash. I found this trick here.
I experimented the same with WAMP 3.2.0.
MariaDB was configured to listen to port 3306 (the usal MySQL port) and MySQL 8 was listening on port 3308. If you are in this case, don't be fooled by the fact you have 2 DBs.
To solve this, you have to choose the DB you want. I wanted MySQL and I just ask MySQLWorkBench to open a connection on port 3308 to MySQL.
You can ditch MySQL Workbench, and use the browser made for the MariaDB, they have a free version here: https://www.upscene.com/downloads/dbw
It's limited in its abilities, but I had no troubles connecting and browsing.
I had the similar problem because i was using Denwer at the same time.
To solve the problem:
Stop Denwer
Restart MySQL server
Profit! Now you can open your database in the Workbench
The idea is that denwer was starting its local server which didnt allow MySQL to start normally.
If you want to use denwer at the same time wth MySQL you can just start it after MySQL (Point 4).
In my case I already had MySql server and workbench installed and setup prior to my XAMPP installation. I wanted to continue with my existing setup.
I also installed MySql server with my XAMPP. I started mysql inside XAMPP and when I connected to MySql Workbench, I encountered the same error. Because Workbench was trying to connect with the server which was installed with XAMPP, apparently this was incompatible.
So I stopped mysql in XAMPP and started started mysql server manually(the previous setup and installed server).
Refer this to know how to start mysql manually in windows.
You can also config XAMPP to use your existing SqlServer.
So I had the same problem. For me none of the methods worked, but then I found out that my MariaDB was occupying the same port, so I uninstalled it and that solved the problem.
i had same issue, i changed the mysql server port from 3306 to 3308 in XAMPP config file.
[mysqld]
port=3308