Dear MySQL users,
MySQL Connector/Python 8.0.18 is the latest GA release version of
the
MySQL Connector Python 8.0 series. The X DevAPI enables
application
developers to write code that combines the strengths of the
relational
and document models using a modern, NoSQL-like syntax that does
not
assume previous experience writing traditional SQL.
To learn more about how to write applications using the X DevAPI,
see
http://dev.mysql.com/doc/x-devapi-userguide/en/
For more information about how the X DevAPI is implemented in
MySQL
Connector/Python, and its usage, see
http://dev.mysql.com/doc/dev/connector-python
Please note that the X DevAPI requires at least MySQL Server …
Somebody asked me how to expand a prior example with the static variables so
that it took arguments at the command line for the variables.
This example uses Python 3 new features in the
datetime package.
There’s a small trick converting the string
arguments to date data types. Here’s a quick example
that shows you how to convert the argument list into individual
date data type variables:
#!/usr/bin/python3
# include standard modules
import sys
from datetime import datetime
# Capture argument list.
fullCmdArguments = sys.argv
# Assignable variables.
beginDate = ""
endDate = ""
# Assign argument list to variable.
argumentList = fullCmdArguments[1:]
# Enumerate through the argument list where beginDate precedes endDate as strings.
try:
for i, s in enumerate(argumentList):
if (i == …[Read more]
While building my student image on Fedora 30, I installed the MySQL PHP Connector (php-mysqlndrp) but neglected to install the Python Connector. This adds the installation and basic test of the Python Connector to the original blog post.
You use the following command with a wildcard as a privileged user. The wildcard is necessary because you need to load two libraries to support Python 2.7 and 3.7, which are installed on Fedora 30. You also need to be the root user or a user that is found in the sudoer’s list:
yum install -y mysql-connector-python*
Display detailed console log →
Last metadata expiration check: 0:35:46 ago on Tue 20 Aug 2019 05:36:29 PM MDT. Dependencies resolved. …[Read more]
You have seen in this previous post, that since 8.0.17, it’s now possible to query the MySQL Router using its REST API.
Additionally, we also saw in this post, that since 8.0.17, we are now able to write extensions to MySQL Shell using the Extension Framework.
Let’s combine both and see how we can integrate the MySQL Router’s REST API in the Shell.
I’ve created an extension in ext.router that creates
a MySQL Router Object.
The new extension, as a method to create the object:
This is an example that illustrates how to create a MySQL Router Object, as you can see you can pass the password directly as parameter but it’s not recommended in interactive mode. It’s …
[Read more]
MySQL Connector/Python 8 made the C Extension the default for the
platform/Python version combinations supporting it. One thing
that was missing from the C Extension implementation (unless you
used the _mysql_connector module) was support for
prepared statements. That has been taken care of with the release
of version 8.0.17.
The two main advantages of using prepared statements are security and performance. The security comes in as you can pass query parameters and have them applied server-side, so you are sure they are quoted and escaped correctly taking the data type into consideration. The performance benefit happens, when you execute the same query (except for the parameters) several times as MySQL will prepare it only …
[Read more]With MySQL Shell 8.0.17, a super cool new feature was released: the MySQL Shell Extensions & Plugins !
You will be able to write your own extensions for the MySQL Shell. You may already saw that I’ve written some modules like Innotop or mydba for MySQL Shell.
However those plugins were written in Python and only accessible in Python mode. With the new Shell Extensions Infrastructure, this is not the case anymore.
Also, this allows you to populate the help automatically.
Extensions are available from the extglobal object.
Currently we …
[Read more]
Dear MySQL users,
MySQL Connector/Python 8.0.17 is the latest GA release version of
the
MySQL Connector Python 8.0 series. The X DevAPI enables
application
developers to write code that combines the strengths of the
relational
and document models using a modern, NoSQL-like syntax that does
not
assume previous experience writing traditional SQL.
To learn more about how to write applications using the X DevAPI,
see
http://dev.mysql.com/doc/x-devapi-userguide/en/
For more information about how the X DevAPI is implemented in
MySQL
Connector/Python, and its usage, see
http://dev.mysql.com/doc/dev/connector-python
Please note that the X DevAPI requires at least MySQL Server …
MySQL Server has since version 5.6 supported connection attributes for the clients. This has allowed a client to provide information such as which program or connector the client is, the client version, the license, etc. The database administrator can use this information for example to verify whether all clients have been upgraded, which client is executing a particular query, and so forth.
In MySQL 8.0.16 this feature has been included for the X DevAPI in the MySQL connectors as well, including MySQL Connector/Python which I will cover in this blog. First though, let’s take a look at how the attributes are exposed in MySQL Server.
The built-in MySQL Connector/Python connection attributesConnection Attributes in MySQL Server
The …
[Read more]It’s been a year since MySQL 8.0 became GA and 8.0.16 has just been released. A good time to look at what happened with MySQL Connector/Python over the last few years.
pypi presence
When we created our connector we knew hat providing it via PyPI was important and we used PyPI as distribution channel. Later PEP 470 was published, which changed how packages are hosted and we introduced the C Extension, which required re-working the packaging. It took us a bit time to get all things right, but for a while we are now back on PyPI and you can get it not only from or downloads page, but also with a simple install using the pip tool:
$ pip install mysql-connector-python Collecting …[Read more]
In my blog yesterday, I wrote about the new
reporting framework in MySQL Shell. It is part of the 8.0.16
release. I also noted that it includes the possibility to create
your own custom reports and use those with the \show
and \watch commands. This blog will explore how you
can create a report and register it, so it automatically is
available when you start MySQL Shell.
Update
This blog was updated on 30 April to include the use of the
values argument for report options. This moved the
validation of the optional arguments in to the reporting
framework and automatically includes the list of valid options …