Archive for the ‘MySQL’ Category
My students want to transfer their course setup MySQL files from the Linux VM that I provide to Microsoft Windows 10. This post explains how because I found a couple small errors in the Google’d posts they would most likely see.
The first step is required because when I didn’t assign a name or domain to the the Fedora VM, which allows it to run as localhost on any student machine. In tandem, I didn’t assign a static IP address but opted for dynamic IP assignment. That means, the first step to securely copy the files requires you to find the assigned IP address. You can do that with the following Linux command:
ifconfig -a | grep 'inet[[:blank:]]' | head -1 | cut -c 14-30 |
ifconfig -a | grep 'inet[[:blank:]]' | head -1 | cut -c 14-30
It would return something like:
After you have discovered the IP address, you need to download PuTTy from their web site because includes the pscp (PuTTy Secure Copy) utility. I recommend you click on the MSI (Microsoft Installer Package) file, and install it on your Windows machine. As a rule, you should accept the default location, which is C:\Program Files\PuTTy
.
While you could alter your system-level %PATH%
environment variable after you install the software, I recommend you only include it in the %PATH%
within the scope of a Command (cmd
) shell. Navigate to your Windows Start and enter cmd
in the search field. It should launch the Command Prompt terminal, which is a terminal emulator.
In the terminal editor, type the following case sensitive command to add the PuTTy directory to your path (yes, it’s case sensitive):
SET PATH=%PATH%;%ProgramFiles%\PuTTy |
SET PATH=%PATH%;%ProgramFiles%\PuTTy
Now, you can securely copy the files and directory structure from Linux to Windows with the following command (where you replace the traditional server name with the dynamically assigned IP address). You should also be in the target directory where you want the files and directories copied:
C:\Data\cit225>pscp -r student@192.168.147.198:/home/student/Data/cit225/mysql . |
C:\Data\cit225>pscp -r student@192.168.147.198:/home/student/Data/cit225/mysql .
After entering the password for the student on the Linux VM, you should see the following copy over:
Raiders2.png | 99 kB | 99.5 kB/s | ETA: 00:00:00 | 100%
LordOfTheRings3.png | 119 kB | 119.8 kB/s | ETA: 00:00:00 | 100%
HarryPotter4.png | 103 kB | 103.9 kB/s | ETA: 00:00:00 | 100%
Raiders1.png | 92 kB | 92.4 kB/s | ETA: 00:00:00 | 100%
Raiders3.png | 123 kB | 123.9 kB/s | ETA: 00:00:00 | 100%
LordOfTheRings2.png | 111 kB | 111.7 kB/s | ETA: 00:00:00 | 100%
LordOfTheRings1.png | 103 kB | 104.0 kB/s | ETA: 00:00:00 | 100%
HarryPotter2.png | 118 kB | 118.7 kB/s | ETA: 00:00:00 | 100%
HarryPotter7.png | 150 kB | 150.2 kB/s | ETA: 00:00:00 | 100%
HarryPotter3.png | 106 kB | 106.1 kB/s | ETA: 00:00:00 | 100%
HarryPotter5.png | 82 kB | 82.5 kB/s | ETA: 00:00:00 | 100%
HarryPotter6.png | 129 kB | 129.9 kB/s | ETA: 00:00:00 | 100%
HarryPotter1.png | 118 kB | 118.8 kB/s | ETA: 00:00:00 | 100%
HarryPotter8.png | 150 kB | 150.9 kB/s | ETA: 00:00:00 | 100%
HarryPotter8.txt | 8 kB | 8.5 kB/s | ETA: 00:00:00 | 100%
HarryPotter3.txt | 5 kB | 5.8 kB/s | ETA: 00:00:00 | 100%
HarryPotter5.txt | 7 kB | 7.9 kB/s | ETA: 00:00:00 | 100%
HarryPotter1.txt | 6 kB | 6.6 kB/s | ETA: 00:00:00 | 100%
HarryPotter2.txt | 7 kB | 7.8 kB/s | ETA: 00:00:00 | 100%
Raiders3.txt | 5 kB | 5.6 kB/s | ETA: 00:00:00 | 100%
HarryPotter4.txt | 7 kB | 7.5 kB/s | ETA: 00:00:00 | 100%
HarryPotter7.txt | 5 kB | 5.4 kB/s | ETA: 00:00:00 | 100%
HarryPotter6.txt | 7 kB | 7.4 kB/s | ETA: 00:00:00 | 100%
LOTRFellowship.txt | 4 kB | 5.0 kB/s | ETA: 00:00:00 | 100%
apply_store_base.sql | 1 kB | 1.6 kB/s | ETA: 00:00:00 | 100%
query_membership.sql | 0 kB | 0.3 kB/s | ETA: 00:00:00 | 100%
apply_mysql_lab1.sql | 1 kB | 1.9 kB/s | ETA: 00:00:00 | 100%
configure_mysql_web.sql | 37 kB | 37.1 kB/s | ETA: 00:00:00 | 100%
seed_mysql_store_ri2.sql | 58 kB | 58.5 kB/s | ETA: 00:00:00 | 100%
cleanup_mysql_store.sql | 5 kB | 5.4 kB/s | ETA: 00:00:00 | 100%
create_mysql_store_ri2.sq | 21 kB | 21.1 kB/s | ETA: 00:00:00 | 100% |
Raiders2.png | 99 kB | 99.5 kB/s | ETA: 00:00:00 | 100%
LordOfTheRings3.png | 119 kB | 119.8 kB/s | ETA: 00:00:00 | 100%
HarryPotter4.png | 103 kB | 103.9 kB/s | ETA: 00:00:00 | 100%
Raiders1.png | 92 kB | 92.4 kB/s | ETA: 00:00:00 | 100%
Raiders3.png | 123 kB | 123.9 kB/s | ETA: 00:00:00 | 100%
LordOfTheRings2.png | 111 kB | 111.7 kB/s | ETA: 00:00:00 | 100%
LordOfTheRings1.png | 103 kB | 104.0 kB/s | ETA: 00:00:00 | 100%
HarryPotter2.png | 118 kB | 118.7 kB/s | ETA: 00:00:00 | 100%
HarryPotter7.png | 150 kB | 150.2 kB/s | ETA: 00:00:00 | 100%
HarryPotter3.png | 106 kB | 106.1 kB/s | ETA: 00:00:00 | 100%
HarryPotter5.png | 82 kB | 82.5 kB/s | ETA: 00:00:00 | 100%
HarryPotter6.png | 129 kB | 129.9 kB/s | ETA: 00:00:00 | 100%
HarryPotter1.png | 118 kB | 118.8 kB/s | ETA: 00:00:00 | 100%
HarryPotter8.png | 150 kB | 150.9 kB/s | ETA: 00:00:00 | 100%
HarryPotter8.txt | 8 kB | 8.5 kB/s | ETA: 00:00:00 | 100%
HarryPotter3.txt | 5 kB | 5.8 kB/s | ETA: 00:00:00 | 100%
HarryPotter5.txt | 7 kB | 7.9 kB/s | ETA: 00:00:00 | 100%
HarryPotter1.txt | 6 kB | 6.6 kB/s | ETA: 00:00:00 | 100%
HarryPotter2.txt | 7 kB | 7.8 kB/s | ETA: 00:00:00 | 100%
Raiders3.txt | 5 kB | 5.6 kB/s | ETA: 00:00:00 | 100%
HarryPotter4.txt | 7 kB | 7.5 kB/s | ETA: 00:00:00 | 100%
HarryPotter7.txt | 5 kB | 5.4 kB/s | ETA: 00:00:00 | 100%
HarryPotter6.txt | 7 kB | 7.4 kB/s | ETA: 00:00:00 | 100%
LOTRFellowship.txt | 4 kB | 5.0 kB/s | ETA: 00:00:00 | 100%
apply_store_base.sql | 1 kB | 1.6 kB/s | ETA: 00:00:00 | 100%
query_membership.sql | 0 kB | 0.3 kB/s | ETA: 00:00:00 | 100%
apply_mysql_lab1.sql | 1 kB | 1.9 kB/s | ETA: 00:00:00 | 100%
configure_mysql_web.sql | 37 kB | 37.1 kB/s | ETA: 00:00:00 | 100%
seed_mysql_store_ri2.sql | 58 kB | 58.5 kB/s | ETA: 00:00:00 | 100%
cleanup_mysql_store.sql | 5 kB | 5.4 kB/s | ETA: 00:00:00 | 100%
create_mysql_store_ri2.sq | 21 kB | 21.1 kB/s | ETA: 00:00:00 | 100%
My students will need to repeat this step to transfer all of the sample PHP files that demonstrate web application patterns. They also need to inspect individual files to ensure any path referencing commands are manually converted to their new Windows equivalent.
They can move the physical files as the root
superuser with the following pscp
command provide you haven’t stored the files somewhere other than the default location:
C:\Data\temp>pscp -r root@192.168.147.198:/var/lib/mysql . |
C:\Data\temp>pscp -r root@192.168.147.198:/var/lib/mysql .
As always, I hope this helps those trying to sort things out.
It’s the in-between term time and we’re all stuck at home. I decided to update the image for my Fedora 30 virtual machine. I had a work around to the update issue that I had encountered last October in Bug #96969 but it was not required with the current version. However, after updating from MySQL 8.0.17 to MySQL 8.0.19, I found that my Java connection example failed.
The $CLASSPATH
value was correct:
/usr/share/java/mysql-connector-java.jar:. |
/usr/share/java/mysql-connector-java.jar:.
The first error that I got was the my reference to MySQL JDBC driver was incorrect. The error message is quite clear:
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Cannot connect to database server:
The server time zone value 'MDT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support. |
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Cannot connect to database server:
The server time zone value 'MDT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
I changed the MySQL Driver reference as instructed by the error message:
29
30
31
| // Create instance of MySQLDriver.
Class.forName ("com.mysql.cj.jdbc.Driver").newInstance();
conn = DriverManager.getConnection (url, username, password); |
// Create instance of MySQLDriver.
Class.forName ("com.mysql.cj.jdbc.Driver").newInstance();
conn = DriverManager.getConnection (url, username, password);
After the change, I got the following error while retesting my little MySQL Java driver connection test program. Initially, I thought this required a change in the Java environment but that wasn’t it.
Cannot connect to database server:
The server time zone value 'MDT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support. |
Cannot connect to database server:
The server time zone value 'MDT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
It required me to add the following line to my /etc/my.cnf configuration file, which synchronizes the database’s timezone with the operating system.
# Synchronize the MySQL clock with the computer system clock.
default-time-zone='+00:00' |
# Synchronize the MySQL clock with the computer system clock.
default-time-zone='+00:00'
Then, running my MySQL Driver connection test program worked like a charm. It returns the following:
Database connection established
MySQLDriver Version [8.0.19]
Database connection terminated |
Database connection established
MySQLDriver Version [8.0.19]
Database connection terminated
Here’s the MySQL Connector Java code if you’d like to use the MySQLDriver.java
file:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
| // Import classes.
import java.sql.*;
/* You can't include the following on Linux without raising an exception. */
// import com.mysql.jdbc.Driver;
public class MySQLDriver {
public MySQLDriver() {
/* Declare variables that require explicit assignments because
they're addressed in the finally block. */
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
/* Declare other variables. */
String url;
String username = "student";
String password = "student";
String database = "studentdb";
String hostname = "localhost";
String port = "3306";
String sql;
/* Attempt a connection. */
try {
// Set URL.
url = "jdbc:mysql://" + hostname + ":" + port + "/" + database;
// Create instance of MySQLDriver.
Class.forName ("com.mysql.cj.jdbc.Driver").newInstance();
conn = DriverManager.getConnection (url, username, password);
// Query the version of the database.
sql = "SELECT version()";
stmt = conn.createStatement();
rset = stmt.executeQuery(sql);
System.out.println ("Database connection established");
// Read row returns for one column.
while (rset.next()) {
System.out.println("MySQLDriver Version [" + rset.getString(1) + "]"); }
}
catch (SQLException e) {
System.err.println ("Cannot connect to database server:");
System.out.println(e.getMessage());
}
catch (ClassNotFoundException e) {
System.err.println ("Cannot find MySQL driver class:");
System.out.println(e.getMessage());
}
catch (InstantiationException e) {
System.err.println ("Cannot instantiate class:");
System.out.println(e.getMessage());
}
catch (IllegalAccessException e) {
System.err.println ("Illegal access exception:");
System.out.println(e.getMessage());
}
finally {
if (conn != null) {
try {
rset.close();
stmt.close();
conn.close();
System.out.println ("Database connection terminated");
}
catch (Exception e) { /* ignore close errors */ }
}
}
}
/* Unit test. */
public static void main(String args[]) {
new MySQLDriver();
}
} |
// Import classes.
import java.sql.*;
/* You can't include the following on Linux without raising an exception. */
// import com.mysql.jdbc.Driver;
public class MySQLDriver {
public MySQLDriver() {
/* Declare variables that require explicit assignments because
they're addressed in the finally block. */
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
/* Declare other variables. */
String url;
String username = "student";
String password = "student";
String database = "studentdb";
String hostname = "localhost";
String port = "3306";
String sql;
/* Attempt a connection. */
try {
// Set URL.
url = "jdbc:mysql://" + hostname + ":" + port + "/" + database;
// Create instance of MySQLDriver.
Class.forName ("com.mysql.cj.jdbc.Driver").newInstance();
conn = DriverManager.getConnection (url, username, password);
// Query the version of the database.
sql = "SELECT version()";
stmt = conn.createStatement();
rset = stmt.executeQuery(sql);
System.out.println ("Database connection established");
// Read row returns for one column.
while (rset.next()) {
System.out.println("MySQLDriver Version [" + rset.getString(1) + "]"); }
}
catch (SQLException e) {
System.err.println ("Cannot connect to database server:");
System.out.println(e.getMessage());
}
catch (ClassNotFoundException e) {
System.err.println ("Cannot find MySQL driver class:");
System.out.println(e.getMessage());
}
catch (InstantiationException e) {
System.err.println ("Cannot instantiate class:");
System.out.println(e.getMessage());
}
catch (IllegalAccessException e) {
System.err.println ("Illegal access exception:");
System.out.println(e.getMessage());
}
finally {
if (conn != null) {
try {
rset.close();
stmt.close();
conn.close();
System.out.println ("Database connection terminated");
}
catch (Exception e) { /* ignore close errors */ }
}
}
}
/* Unit test. */
public static void main(String args[]) {
new MySQLDriver();
}
}
As always, I hope this helps those who encounter similar problems.
In MySQL and Oracle, you set a session variable quite differently. That means you should expect there differences between setting a session variable in Postgres. This blog post lets you see how to set them in all three databases. I’m always curious what people think but I’m willing to bet that MySQL is the simplest approach. Postgres is a bit more complex because you must use a function call, but Oracle is the most complex.
The difference between MySQL and Postgres is an “@
” symbol versus a current_setting()
function call. Oracle is more complex because it involves the mechanics in Oracle’s sqlplus
shell, SQL dialect, and PL/SQL language (required to assign a value to a variable).
MySQL
MySQL lets you declare a session variable in one step and use it one way in a SQL statement or stored procedure.
- You set a session variable on a single line with the following command:
SET @my_variable_name := 'My Value'; |
SET @my_variable_name := 'My Value';
- You can query a variable from the pseudo table
dual
or as a comparison value in the SELECT
-list
SELECT @my_variable_name AS "The Value" FROM dual; |
SELECT @my_variable_name AS "The Value" FROM dual;
or WHERE
clause
SELECT column_name
FROM table_name
WHERE column_name = @my_variable_name; |
SELECT column_name
FROM table_name
WHERE column_name = @my_variable_name;
Postgres
Postgres lets you declare a session variable in one step and use it one way in a SQL statement or stored procedure.
- You set a session variable in a single line. It iss critical to note that you must use double quotes around the session variable name and single quotes for the value. You raise an error when you use a single quote instead a double quote around the session variable name. The syntax is:
SET SESSION "videodb.table_name" = 'new_hire'; |
SET SESSION "videodb.table_name" = 'new_hire';
- You can query a variable from the pseudo table
dual
or as a comparison value in the SELECT
-list with the current_setting()
function call.
SELECT current_setting('videodb.table_name') AS "The Value"; |
SELECT current_setting('videodb.table_name') AS "The Value";
or WHERE
clause
SELECT column_name
FROM table_name
WHERE column_name = current_setting('videodb.table_name'); |
SELECT column_name
FROM table_name
WHERE column_name = current_setting('videodb.table_name');
Oracle
There are two steps required to declare a session variable in Oracle. First, you need to define the variable in the SQL*Plus session. Oracle lets you define a variable like you would define a variable in the C language, using extern
before the variable’s type. Second, you assign a value to the session variable in an anonymous PL/SQL block. There is no single line statement to declare a variable with an initial value.
- You set a session variable by using the
VARIABLE
keyword, a variable name, and data type. The supported data types are: BLOB
, BFILE
, BINARY_DOUBLE
, BINARY_FLOAT
, CHAR
, CLOB
, NCHAR
, NCLOB
, NVARCHAR2
, REFCURSOR
, and VARCHAAR2
. You define a variable with the following syntax:
VARIABLE bv_variable_name VARCHAR2(30) |
VARIABLE bv_variable_name VARCHAR2(30)
- You assign a value to the bind variable inside an anonymous block by prefacing the variable name with a colon. You assign values inside PL/SQL with the walrus operator (
:=
) and a string enclosed by single quotes. Anonymous blocks start with a BEGIN
and end with an END
followed by a semicolon (;
) and a forward slash (/
) to dispatch the block for execution. The following example shows a full block:
BEGIN
:bv_variable_name := 'Some Value';
END;
/ |
BEGIN
:bv_variable_name := 'Some Value';
END;
/
- You can query any declared variable from the pseudo table
dual
or as a comparison value in the SELECT
-list
SELECT :bv_variable_name FROM dual; |
SELECT :bv_variable_name FROM dual;
or WHERE
clause
SELECT column_name
FROM table_name
WHERE column_name = :bv_variable_name; |
SELECT column_name
FROM table_name
WHERE column_name = :bv_variable_name;
While attempting an install of pgAdmin and updating a Fedora 30 environment, I encountered a conflict on the upgrade of MySQL 8.0.17-1 to 8.0.17.2. The community-mysql-8.0.17-2.fc30.x86_64
had conflicts with:
mysql-community-client-8.0.17-1.fc30.x86_64
package
mysql-community-server-8.0.17-1.fc30.x86_64
package
I tried to update the system before install pgadmin4
with the following syntax:
dnf -y update && dnf -y install pgadmin4 |
dnf -y update && dnf -y install pgadmin4
The dnf
utility raise the following MySQL package errors during transaction checking:
Display detailed console log →
Error: Transaction check error:
file /usr/bin/mysql conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_config_editor conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqladmin conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlbinlog conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlcheck conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqldump conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlimport conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlpump conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlshow conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlslap conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/ibd2sdi conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/innochecksum conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/my_print_defaults conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/myisam_ftdump conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/myisamchk conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/myisamlog conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/myisampack conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_secure_installation conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_ssl_rsa_setup conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_tzinfo_to_sql conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_upgrade conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysqld_pre_systemd conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/perror conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib/systemd/system/mysqld.service conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib/systemd/system/mysqld@.service conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/adt_null.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/auth_socket.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_audit_api_message_emit.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_log_filter_dragnet.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_log_sink_json.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_log_sink_syseventlog.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_validate_password.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/connection_control.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/ddl_rewriter.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/group_replication.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/ha_example.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/ha_mock.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/innodb_engine.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/keyring_file.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/keyring_udf.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/libmemcached.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/locking_service.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/mypluglib.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/mysql_clone.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/mysql_no_login.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/rewrite_example.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/rewriter.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/semisync_master.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/semisync_slave.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/validate_password.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/version_token.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/sbin/mysqld conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /var/lib/mysql conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /var/lib/mysql-keyring conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/libmysqlclient.so.21.1.17 conflicts between attempted installs of community-mysql-libs-8.0.17-2.fc30.x86_64 and mysql-community-libs-8.0.17-1.fc30.x86_64 |
Error: Transaction check error:
file /usr/bin/mysql conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_config_editor conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqladmin conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlbinlog conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlcheck conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqldump conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlimport conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlpump conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlshow conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/mysqlslap conflicts between attempted installs of community-mysql-8.0.17-2.fc30.x86_64 and mysql-community-client-8.0.17-1.fc30.x86_64
file /usr/bin/ibd2sdi conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/innochecksum conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/my_print_defaults conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/myisam_ftdump conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/myisamchk conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/myisamlog conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/myisampack conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_secure_installation conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_ssl_rsa_setup conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_tzinfo_to_sql conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysql_upgrade conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/mysqld_pre_systemd conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/bin/perror conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib/systemd/system/mysqld.service conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib/systemd/system/mysqld@.service conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/adt_null.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/auth_socket.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_audit_api_message_emit.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_log_filter_dragnet.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_log_sink_json.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_log_sink_syseventlog.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/component_validate_password.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/connection_control.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/ddl_rewriter.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/group_replication.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/ha_example.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/ha_mock.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/innodb_engine.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/keyring_file.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/keyring_udf.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/libmemcached.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/locking_service.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/mypluglib.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/mysql_clone.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/mysql_no_login.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/rewrite_example.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/rewriter.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/semisync_master.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/semisync_slave.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/validate_password.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/plugin/version_token.so conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/sbin/mysqld conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /var/lib/mysql conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /var/lib/mysql-keyring conflicts between attempted installs of community-mysql-server-8.0.17-2.fc30.x86_64 and mysql-community-server-8.0.17-1.fc30.x86_64
file /usr/lib64/mysql/libmysqlclient.so.21.1.17 conflicts between attempted installs of community-mysql-libs-8.0.17-2.fc30.x86_64 and mysql-community-libs-8.0.17-1.fc30.x86_64
Since I’m not sure what’s wrong or how to fix it, I’ve put it in my queue of things to get to later. However, when I figure it out I’ll update this blog page with the solution or work around. If anybody knows the fix and would like to share, please let me know.
I removed the pending update packages with the following command:
Then, I simply installed pgadmin4
with the following command:
Display detailed console log →
Fedora Modular 30 - x86_64 24 kB/s | 17 kB 00:00
Fedora Modular 30 - x86_64 - Updates 26 kB/s | 15 kB 00:00
Fedora 30 - x86_64 - Updates 39 kB/s | 15 kB 00:00
Fedora 30 - x86_64 31 kB/s | 17 kB 00:00
google-chrome-unstable 12 kB/s | 1.3 kB 00:00
google-chrome 14 kB/s | 1.3 kB 00:00
MongoDB Repository 11 kB/s | 2.5 kB 00:00
MySQL 8.0 Community Server 10 kB/s | 2.5 kB 00:00
MySQL Connectors Community 13 kB/s | 2.5 kB 00:00
MySQL Tools Community 13 kB/s | 2.5 kB 00:00
PostgreSQL 11 30 - x86_64 1.5 kB/s | 3.8 kB 00:02
PostgreSQL 10 30 - x86_64 4.3 kB/s | 3.8 kB 00:00
PostgreSQL 9.6 30 - x86_64 10 kB/s | 3.8 kB 00:00
PostgreSQL 9.5 30 - x86_64 4.7 kB/s | 3.8 kB 00:00
PostgreSQL 9.4 30 - x86_64 8.4 kB/s | 3.8 kB 00:00
Dependencies resolved.
===============================================================================================================================================
Package Architecture Version Repository Size
===============================================================================================================================================
Installing:
pgadmin4 x86_64 4.12-1.f30 pgdg11 11 k
Installing dependencies:
python3-alembic noarch 1.0.10-1.fc30 updates 780 k
python3-paramiko noarch 2.5.0-1.fc30 updates 288 k
python3-sqlalchemy x86_64 1.3.7-1.fc30 updates 1.9 M
python3-bcrypt x86_64 3.1.4-7.fc30 fedora 41 k
python3-blinker noarch 1.4-4.fc30 fedora 113 k
python3-editor noarch 1.0.3-10.fc30 fedora 17 k
python3-flask noarch 1:1.0.2-4.fc30 fedora 154 k
python3-flask-babel noarch 0.11.2-4.fc30 fedora 53 k
python3-flask-babelex noarch 0.9.3-6.fc30 fedora 23 k
python3-flask-gravatar noarch 0.5.0-5.fc30 fedora 18 k
python3-flask-login noarch 0.4.1-5.fc30 fedora 34 k
python3-flask-mail noarch 0.9.1-7.fc30 fedora 22 k
python3-flask-paranoid noarch 0.2.0-6.fc30 fedora 13 k
python3-flask-principal noarch 0.4.0-19.fc30 fedora 19 k
python3-flask-security noarch 3.0.0-5.fc30 fedora 82 k
python3-flask-sqlalchemy noarch 2.3.2-4.fc30 fedora 116 k
python3-flask-wtf noarch 0.14.2-4.fc30 fedora 67 k
python3-htmlmin noarch 0.1.12-7.git220b1d1.fc30 fedora 61 k
python3-itsdangerous noarch 0.24-16.fc30 fedora 28 k
python3-linecache2 noarch 1.0.0-18.fc30 fedora 17 k
python3-mod_wsgi x86_64 4.6.4-3.fc30 fedora 5.6 M
python3-passlib noarch 1.7.1-2.fc30 fedora 741 k
python3-pynacl x86_64 1.3.0-1.fc30 fedora 96 k
python3-speaklater noarch 1.3-15.fc30 fedora 15 k
python3-sqlparse noarch 0.2.4-5.fc30 fedora 79 k
python3-traceback2 noarch 1.4.0-19.fc30 fedora 23 k
python3-unittest2 noarch 1.1.0-16.fc30 fedora 183 k
python3-werkzeug noarch 0.14.1-7.fc30 fedora 465 k
python3-wtforms noarch 2.2.1-4.fc30 fedora 188 k
pgadmin4-docs noarch 4.12-1.f30 pgdg11 32 M
pgadmin4-python3-flask-htmlmin noarch 1.5.0-1.f30 pgdg11 13 k
pgadmin4-python3-flask-migrate noarch 2.4.0-1.f30 pgdg11 28 k
pgadmin4-python3-psutil x86_64 5.5.1-1.f30 pgdg11 375 k
pgadmin4-python3-six noarch 1.12.0-3.f30 pgdg11 35 k
pgadmin4-python3-sshtunnel noarch 0.1.4-1.f30 pgdg11 46 k
pgadmin4-python3-werkzeug noarch 0.15.4-1.f30 pgdg11 463 k
pgadmin4-pytz noarch 2018.9-1.f30 pgdg11 52 k
pgadmin4-web noarch 4.12-1.f30 pgdg11 5.4 M
python3-psycopg2 x86_64 2.8.3-1.f30 pgdg11 168 k
Transaction Summary
===============================================================================================================================================
Install 40 Packages
Total download size: 50 M
Installed size: 109 M
Downloading Packages:
(1/40): python3-paramiko-2.5.0-1.fc30.noarch.rpm 179 kB/s | 288 kB 00:01
(2/40): python3-alembic-1.0.10-1.fc30.noarch.rpm 401 kB/s | 780 kB 00:01
(3/40): python3-sqlalchemy-1.3.7-1.fc30.x86_64.rpm 927 kB/s | 1.9 MB 00:02
(4/40): python3-bcrypt-3.1.4-7.fc30.x86_64.rpm 47 kB/s | 41 kB 00:00
(5/40): python3-flask-1.0.2-4.fc30.noarch.rpm 697 kB/s | 154 kB 00:00
(6/40): python3-editor-1.0.3-10.fc30.noarch.rpm 26 kB/s | 17 kB 00:00
(7/40): python3-blinker-1.4-4.fc30.noarch.rpm 128 kB/s | 113 kB 00:00
(8/40): python3-flask-babel-0.11.2-4.fc30.noarch.rpm 435 kB/s | 53 kB 00:00
(9/40): python3-flask-babelex-0.9.3-6.fc30.noarch.rpm 139 kB/s | 23 kB 00:00
(10/40): python3-flask-gravatar-0.5.0-5.fc30.noarch.rpm 175 kB/s | 18 kB 00:00
(11/40): python3-flask-login-0.4.1-5.fc30.noarch.rpm 172 kB/s | 34 kB 00:00
(12/40): python3-flask-mail-0.9.1-7.fc30.noarch.rpm 210 kB/s | 22 kB 00:00
(13/40): python3-flask-paranoid-0.2.0-6.fc30.noarch.rpm 64 kB/s | 13 kB 00:00
(14/40): python3-flask-principal-0.4.0-19.fc30.noarch.rpm 172 kB/s | 19 kB 00:00
(15/40): python3-flask-security-3.0.0-5.fc30.noarch.rpm 379 kB/s | 82 kB 00:00
(16/40): python3-flask-sqlalchemy-2.3.2-4.fc30.noarch.rpm 534 kB/s | 116 kB 00:00
(17/40): python3-flask-wtf-0.14.2-4.fc30.noarch.rpm 295 kB/s | 67 kB 00:00
(18/40): python3-htmlmin-0.1.12-7.git220b1d1.fc30.noarch.rpm 290 kB/s | 61 kB 00:00
(19/40): python3-itsdangerous-0.24-16.fc30.noarch.rpm 253 kB/s | 28 kB 00:00
(20/40): python3-linecache2-1.0.0-18.fc30.noarch.rpm 87 kB/s | 17 kB 00:00
(21/40): python3-pynacl-1.3.0-1.fc30.x86_64.rpm 152 kB/s | 96 kB 00:00
(22/40): python3-passlib-1.7.1-2.fc30.noarch.rpm 897 kB/s | 741 kB 00:00
(23/40): python3-mod_wsgi-4.6.4-3.fc30.x86_64.rpm 4.8 MB/s | 5.6 MB 00:01
(24/40): python3-speaklater-1.3-15.fc30.noarch.rpm 34 kB/s | 15 kB 00:00
(25/40): python3-sqlparse-0.2.4-5.fc30.noarch.rpm 242 kB/s | 79 kB 00:00
(26/40): python3-traceback2-1.4.0-19.fc30.noarch.rpm 211 kB/s | 23 kB 00:00
(27/40): python3-unittest2-1.1.0-16.fc30.noarch.rpm 785 kB/s | 183 kB 00:00
(28/40): python3-werkzeug-0.14.1-7.fc30.noarch.rpm 1.0 MB/s | 465 kB 00:00
(29/40): python3-wtforms-2.2.1-4.fc30.noarch.rpm 574 kB/s | 188 kB 00:00
(30/40): pgadmin4-4.12-1.f30.x86_64.rpm 12 kB/s | 11 kB 00:00
(31/40): pgadmin4-python3-flask-htmlmin-1.5.0-1.f30.noarch.rpm 15 kB/s | 13 kB 00:00
(32/40): pgadmin4-python3-flask-migrate-2.4.0-1.f30.noarch.rpm 68 kB/s | 28 kB 00:00
(33/40): pgadmin4-python3-six-1.12.0-3.f30.noarch.rpm 165 kB/s | 35 kB 00:00
(34/40): pgadmin4-python3-sshtunnel-0.1.4-1.f30.noarch.rpm 215 kB/s | 46 kB 00:00
(35/40): pgadmin4-python3-psutil-5.5.1-1.f30.x86_64.rpm 343 kB/s | 375 kB 00:01
(36/40): pgadmin4-pytz-2018.9-1.f30.noarch.rpm 242 kB/s | 52 kB 00:00
(37/40): pgadmin4-python3-werkzeug-0.15.4-1.f30.noarch.rpm 234 kB/s | 463 kB 00:01
(38/40): python3-psycopg2-2.8.3-1.f30.x86_64.rpm 263 kB/s | 168 kB 00:00
(39/40): pgadmin4-web-4.12-1.f30.noarch.rpm 1.1 MB/s | 5.4 MB 00:04
(40/40): pgadmin4-docs-4.12-1.f30.noarch.rpm 1.2 MB/s | 32 MB 00:26
-----------------------------------------------------------------------------------------------------------------------------------------------
Total 1.5 MB/s | 50 MB 00:32
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-speaklater-1.3-15.fc30.noarch 1/40
Installing : python3-itsdangerous-0.24-16.fc30.noarch 2/40
Installing : python3-blinker-1.4-4.fc30.noarch 3/40
Installing : python3-sqlalchemy-1.3.7-1.fc30.x86_64 4/40
Installing : python3-wtforms-2.2.1-4.fc30.noarch 5/40
Installing : python3-passlib-1.7.1-2.fc30.noarch 6/40
Installing : python3-psycopg2-2.8.3-1.f30.x86_64 7/40
Installing : pgadmin4-pytz-2018.9-1.f30.noarch 8/40
Installing : pgadmin4-python3-werkzeug-0.15.4-1.f30.noarch 9/40
Installing : pgadmin4-python3-six-1.12.0-3.f30.noarch 10/40
Installing : pgadmin4-python3-psutil-5.5.1-1.f30.x86_64 11/40
Installing : pgadmin4-docs-4.12-1.f30.noarch 12/40
Installing : python3-werkzeug-0.14.1-7.fc30.noarch 13/40
Installing : python3-flask-1:1.0.2-4.fc30.noarch 14/40
Installing : python3-flask-babel-0.11.2-4.fc30.noarch 15/40
Installing : python3-flask-babelex-0.9.3-6.fc30.noarch 16/40
Installing : python3-flask-login-0.4.1-5.fc30.noarch 17/40
Installing : python3-flask-mail-0.9.1-7.fc30.noarch 18/40
Installing : python3-flask-principal-0.4.0-19.fc30.noarch 19/40
Installing : python3-flask-wtf-0.14.2-4.fc30.noarch 20/40
Installing : python3-flask-security-3.0.0-5.fc30.noarch 21/40
Installing : python3-flask-gravatar-0.5.0-5.fc30.noarch 22/40
Installing : python3-flask-paranoid-0.2.0-6.fc30.noarch 23/40
Installing : python3-flask-sqlalchemy-2.3.2-4.fc30.noarch 24/40
Installing : pgadmin4-python3-flask-migrate-2.4.0-1.f30.noarch 25/40
Installing : python3-sqlparse-0.2.4-5.fc30.noarch 26/40
Installing : python3-pynacl-1.3.0-1.fc30.x86_64 27/40
Installing : python3-mod_wsgi-4.6.4-3.fc30.x86_64 28/40
Installing : python3-linecache2-1.0.0-18.fc30.noarch 29/40
Installing : python3-traceback2-1.4.0-19.fc30.noarch 30/40
Installing : python3-unittest2-1.1.0-16.fc30.noarch 31/40
Installing : python3-htmlmin-0.1.12-7.git220b1d1.fc30.noarch 32/40
Installing : pgadmin4-python3-flask-htmlmin-1.5.0-1.f30.noarch 33/40
Installing : python3-editor-1.0.3-10.fc30.noarch 34/40
Installing : python3-alembic-1.0.10-1.fc30.noarch 35/40
Installing : python3-bcrypt-3.1.4-7.fc30.x86_64 36/40
Installing : python3-paramiko-2.5.0-1.fc30.noarch 37/40
Installing : pgadmin4-python3-sshtunnel-0.1.4-1.f30.noarch 38/40
Installing : pgadmin4-web-4.12-1.f30.noarch 39/40
Installing : pgadmin4-4.12-1.f30.x86_64 40/40
Running scriptlet: pgadmin4-4.12-1.f30.x86_64 40/40
Verifying : python3-alembic-1.0.10-1.fc30.noarch 1/40
Verifying : python3-paramiko-2.5.0-1.fc30.noarch 2/40
Verifying : python3-sqlalchemy-1.3.7-1.fc30.x86_64 3/40
Verifying : python3-bcrypt-3.1.4-7.fc30.x86_64 4/40
Verifying : python3-blinker-1.4-4.fc30.noarch 5/40
Verifying : python3-editor-1.0.3-10.fc30.noarch 6/40
Verifying : python3-flask-1:1.0.2-4.fc30.noarch 7/40
Verifying : python3-flask-babel-0.11.2-4.fc30.noarch 8/40
Verifying : python3-flask-babelex-0.9.3-6.fc30.noarch 9/40
Verifying : python3-flask-gravatar-0.5.0-5.fc30.noarch 10/40
Verifying : python3-flask-login-0.4.1-5.fc30.noarch 11/40
Verifying : python3-flask-mail-0.9.1-7.fc30.noarch 12/40
Verifying : python3-flask-paranoid-0.2.0-6.fc30.noarch 13/40
Verifying : python3-flask-principal-0.4.0-19.fc30.noarch 14/40
Verifying : python3-flask-security-3.0.0-5.fc30.noarch 15/40
Verifying : python3-flask-sqlalchemy-2.3.2-4.fc30.noarch 16/40
Verifying : python3-flask-wtf-0.14.2-4.fc30.noarch 17/40
Verifying : python3-htmlmin-0.1.12-7.git220b1d1.fc30.noarch 18/40
Verifying : python3-itsdangerous-0.24-16.fc30.noarch 19/40
Verifying : python3-linecache2-1.0.0-18.fc30.noarch 20/40
Verifying : python3-mod_wsgi-4.6.4-3.fc30.x86_64 21/40
Verifying : python3-passlib-1.7.1-2.fc30.noarch 22/40
Verifying : python3-pynacl-1.3.0-1.fc30.x86_64 23/40
Verifying : python3-speaklater-1.3-15.fc30.noarch 24/40
Verifying : python3-sqlparse-0.2.4-5.fc30.noarch 25/40
Verifying : python3-traceback2-1.4.0-19.fc30.noarch 26/40
Verifying : python3-unittest2-1.1.0-16.fc30.noarch 27/40
Verifying : python3-werkzeug-0.14.1-7.fc30.noarch 28/40
Verifying : python3-wtforms-2.2.1-4.fc30.noarch 29/40
Verifying : pgadmin4-4.12-1.f30.x86_64 30/40
Verifying : pgadmin4-docs-4.12-1.f30.noarch 31/40
Verifying : pgadmin4-python3-flask-htmlmin-1.5.0-1.f30.noarch 32/40
Verifying : pgadmin4-python3-flask-migrate-2.4.0-1.f30.noarch 33/40
Verifying : pgadmin4-python3-psutil-5.5.1-1.f30.x86_64 34/40
Verifying : pgadmin4-python3-six-1.12.0-3.f30.noarch 35/40
Verifying : pgadmin4-python3-sshtunnel-0.1.4-1.f30.noarch 36/40
Verifying : pgadmin4-python3-werkzeug-0.15.4-1.f30.noarch 37/40
Verifying : pgadmin4-pytz-2018.9-1.f30.noarch 38/40
Verifying : pgadmin4-web-4.12-1.f30.noarch 39/40
Verifying : python3-psycopg2-2.8.3-1.f30.x86_64 40/40
Installed:
pgadmin4-4.12-1.f30.x86_64 python3-alembic-1.0.10-1.fc30.noarch
python3-paramiko-2.5.0-1.fc30.noarch python3-sqlalchemy-1.3.7-1.fc30.x86_64
python3-bcrypt-3.1.4-7.fc30.x86_64 python3-blinker-1.4-4.fc30.noarch
python3-editor-1.0.3-10.fc30.noarch python3-flask-1:1.0.2-4.fc30.noarch
python3-flask-babel-0.11.2-4.fc30.noarch python3-flask-babelex-0.9.3-6.fc30.noarch
python3-flask-gravatar-0.5.0-5.fc30.noarch python3-flask-login-0.4.1-5.fc30.noarch
python3-flask-mail-0.9.1-7.fc30.noarch python3-flask-paranoid-0.2.0-6.fc30.noarch
python3-flask-principal-0.4.0-19.fc30.noarch python3-flask-security-3.0.0-5.fc30.noarch
python3-flask-sqlalchemy-2.3.2-4.fc30.noarch python3-flask-wtf-0.14.2-4.fc30.noarch
python3-htmlmin-0.1.12-7.git220b1d1.fc30.noarch python3-itsdangerous-0.24-16.fc30.noarch
python3-linecache2-1.0.0-18.fc30.noarch python3-mod_wsgi-4.6.4-3.fc30.x86_64
python3-passlib-1.7.1-2.fc30.noarch python3-pynacl-1.3.0-1.fc30.x86_64
python3-speaklater-1.3-15.fc30.noarch python3-sqlparse-0.2.4-5.fc30.noarch
python3-traceback2-1.4.0-19.fc30.noarch python3-unittest2-1.1.0-16.fc30.noarch
python3-werkzeug-0.14.1-7.fc30.noarch python3-wtforms-2.2.1-4.fc30.noarch
pgadmin4-docs-4.12-1.f30.noarch pgadmin4-python3-flask-htmlmin-1.5.0-1.f30.noarch
pgadmin4-python3-flask-migrate-2.4.0-1.f30.noarch pgadmin4-python3-psutil-5.5.1-1.f30.x86_64
pgadmin4-python3-six-1.12.0-3.f30.noarch pgadmin4-python3-sshtunnel-0.1.4-1.f30.noarch
pgadmin4-python3-werkzeug-0.15.4-1.f30.noarch pgadmin4-pytz-2018.9-1.f30.noarch
pgadmin4-web-4.12-1.f30.noarch python3-psycopg2-2.8.3-1.f30.x86_64
Complete!
The pgadmin4
configuration instructions can be found for several Linux versions at Josphat Mutai’s Computing for Geeks web page. On Fedora 30, you need to do the following:
- Install, start, and enable Apache as the
httpd
service unless you already have done that.
- Copy the
/etc/httpd/conf.d/pgadmin4.conf.sample
file to /etc/httpd/conf.d/pgadmin4.conf
, which is a new file.
- Restart the
httpd
service to incorporate the pgadmin4
configuration file.
After that, you create the following new directories as the root
or sudo
user:
/var/lib/pgadmin4
/var/log/pgadmin4
You can make both directories with a single mkdir
command, like:
mkdir -p /var/lib/pgadmin4 /var/log/pgadmin4 |
mkdir -p /var/lib/pgadmin4 /var/log/pgadmin4
As the root
or sudo
user, change the ownership of these two directories to the apache
user with the following syntax:
chown -R apache:apache /var/lib/pgadmin4 /var/log/pgadmin4 |
chown -R apache:apache /var/lib/pgadmin4 /var/log/pgadmin4
You add the following four statements to the config_distro.py
file in the /usr/lib/python3.7/site-packages/pgadmin4-web
directory as the root
or sudo
user:
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage' |
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
You need to setup the pgadmin user with the following python3 command:
python3 /usr/lib/python3.7/site-packages/pgadmin4-web/setup.py |
python3 /usr/lib/python3.7/site-packages/pgadmin4-web/setup.py
Enter the following values, a real email address and a password twice:
NOTE: Configuring authentication for SERVER mode.
Enter the email address and password to use for the initial pgAdmin user account:
Email address: admin@example.com
Password: your_password
Retype password: your_password
pgAdmin 4 - Application Initialisation
====================================== |
NOTE: Configuring authentication for SERVER mode.
Enter the email address and password to use for the initial pgAdmin user account:
Email address: admin@example.com
Password: your_password
Retype password: your_password
pgAdmin 4 - Application Initialisation
======================================
Assuming you have an enabled firewall, you need to issue the following two commands as the root
or sudo
user:
rirewall-cmd --permanent --add-service=http
firewall-cmd --reload |
rirewall-cmd --permanent --add-service=http
firewall-cmd --reload
You invoke pgAdmin4 from within a browser window with the following URL for a stand alone workstation (for a workstation on a DNS network you would enter pgadmin.domain.domain_type
in lieu of localhost):
pgadmin/localhost/pgadmin4 |
pgadmin/localhost/pgadmin4
You most likely will encounter an Internal Server Error, the recommended fix is reputed to be:
ausearch -c 'httpd' --raw | audit2allow -M my-httpd
semodule -X 300 -i my-httpd.pp |
ausearch -c 'httpd' --raw | audit2allow -M my-httpd
semodule -X 300 -i my-httpd.pp
It didn’t work for me. At the end of the process, I have an Internal Server Error. It is something that I’ll try to fix next. The actual error message:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log. |
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
If somebody figures out the last step before I do, that’s great. Let me and everybody else know the mystery.
On a positive note, the pgadmin4 package provided the psycopg2
library. I had looked for it as a psycopg2
package but it is in python3-psycopg2
package.
Six years ago I wrote a common lookup post to illustrate the effectiveness of things used throughout your applications. Now, I’m updating my student image with a more complete solution to show how to avoid update anomalies.
In the prior post, I used a while
loop in PHP, like the following:
do {
...
} while($stmt->next_result()); |
do {
...
} while($stmt->next_result());
Using PHP Version 7.3.8 and MySQL 8.0.16, that now raises the following error message:
Strict Standards: mysqli_stmt::next_result(): There is no next result set. Please, call mysqli_stmt_more_results()/mysqli_stmt::more_results() to check whether to call this function/method in /var/www/html/app/library.inc on line 81 |
Strict Standards: mysqli_stmt::next_result(): There is no next result set. Please, call mysqli_stmt_more_results()/mysqli_stmt::more_results() to check whether to call this function/method in /var/www/html/app/library.inc on line 81
You can see this type of error when you set the following parameters in your file during testing:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(E_ALL); |
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(E_ALL);
You can read more about error handling at this web page. The new and strict compliance standard for mysqli
managing rows is:
do {
...
} while($stmt->more_result()); |
do {
...
} while($stmt->more_result());
As always, I hope this helps those looking for an answer.
Somebody didn’t like the MySQLi Update Query example on the tutorialspoint.com website because it use the procedure mysqli_query
style. Here’s a simple example of using the object-oriented method version. More or less, instead of query it uses the more intuitive execute()
method.
The update_member
function contains the logic and below it is a call to the test the function. It relies on a MySQLCredentials.inc
file that contains the hostname, user name, password, and database name. You can create create member
table, like my example in MySQL 8, or any other table in your MySQL database.
<?php
/*
|| Function Name: update_member
*/
function update_member($account_number, $member_type, $credit_card_number, $credit_card_type) {
// Include the credentials file if omitted.
include_once("MySQLCredentials.inc");
// Assign credentials to connection.
$mysqli = new mysqli(HOSTNAME, USERNAME, PASSWORD, DATABASE);
// Check for connection error and print message.
if ($mysqli->connect_errno) {
print $mysqli->connect_error."<br />";
print "Connection not established ...<br />";
}
else {
// Initial statement.
$stmt = $mysqli->stmt_init();
/* Disabling auto commit when you want two or more statements executed as a set.
|| ------------------------------------------------------------
|| You would add the following command to disable the default
|| of auto commit.
|| ------------------------------
|| $mysqli->autocommit(FALSE);
|| ------------------------------------------------------------
*/
// Declare a static query.
$sql = "UPDATE member\n"
. "SET member_type = ?\n"
. ", credit_card_number = ?\n"
. ", credit_card_type = ?\n"
. "WHERE account_number = ?\n";
/* Prepare statement.
|| ------------------------------------------------------------
|| Please note that the bind_param method is a position
|| rather than named notation, which means you must provide
|| the variables in the same order as they are found in
|| the defined $sql variable as "?".
|| ------------------------------------------------------------
|| print($sql);
|| print("Member Type: [1][".$member_type."]\n");
|| print("Credit Card No: [2][".$credit_card_number."]\n");
|| print("Credit Card Type: [3][".$credit_card_type."]\n");
|| print("Account Number: [4][".$account_number."]\n");
|| ------------------------------------------------------------
*/
if ($stmt->prepare($sql)) {
$stmt->bind_param("ssss",$member_type,$credit_card_number,$credit_card_type,$account_number); }
// Attempt query and exit with failure before processing.
if (!$stmt->execute()) {
// Print failure to resolve query message.
print $mysqli->error."<br />";
print "Failed to resolve query ...<br />";
}
else {
/* Manually commiting writes when you have disabled the
|| default auto commit setting, explained above.
|| ------------------------------------------------------------
|| You would add the following command to commit the
|| transaction.
|| ------------------------------
|| $mysqli->commit();
|| ------------------------------------------------------------
*/
}
}
}
// Test case
update_member('US00011', '1006', '6011-0000-0000-0078', '1007');
?> |
<?php
/*
|| Function Name: update_member
*/
function update_member($account_number, $member_type, $credit_card_number, $credit_card_type) {
// Include the credentials file if omitted.
include_once("MySQLCredentials.inc");
// Assign credentials to connection.
$mysqli = new mysqli(HOSTNAME, USERNAME, PASSWORD, DATABASE);
// Check for connection error and print message.
if ($mysqli->connect_errno) {
print $mysqli->connect_error."<br />";
print "Connection not established ...<br />";
}
else {
// Initial statement.
$stmt = $mysqli->stmt_init();
/* Disabling auto commit when you want two or more statements executed as a set.
|| ------------------------------------------------------------
|| You would add the following command to disable the default
|| of auto commit.
|| ------------------------------
|| $mysqli->autocommit(FALSE);
|| ------------------------------------------------------------
*/
// Declare a static query.
$sql = "UPDATE member\n"
. "SET member_type = ?\n"
. ", credit_card_number = ?\n"
. ", credit_card_type = ?\n"
. "WHERE account_number = ?\n";
/* Prepare statement.
|| ------------------------------------------------------------
|| Please note that the bind_param method is a position
|| rather than named notation, which means you must provide
|| the variables in the same order as they are found in
|| the defined $sql variable as "?".
|| ------------------------------------------------------------
|| print($sql);
|| print("Member Type: [1][".$member_type."]\n");
|| print("Credit Card No: [2][".$credit_card_number."]\n");
|| print("Credit Card Type: [3][".$credit_card_type."]\n");
|| print("Account Number: [4][".$account_number."]\n");
|| ------------------------------------------------------------
*/
if ($stmt->prepare($sql)) {
$stmt->bind_param("ssss",$member_type,$credit_card_number,$credit_card_type,$account_number); }
// Attempt query and exit with failure before processing.
if (!$stmt->execute()) {
// Print failure to resolve query message.
print $mysqli->error."<br />";
print "Failed to resolve query ...<br />";
}
else {
/* Manually commiting writes when you have disabled the
|| default auto commit setting, explained above.
|| ------------------------------------------------------------
|| You would add the following command to commit the
|| transaction.
|| ------------------------------
|| $mysqli->commit();
|| ------------------------------------------------------------
*/
}
}
}
// Test case
update_member('US00011', '1006', '6011-0000-0000-0078', '1007');
?>
I put this logic in a function.php file. If you do the same, you can run the test case like this from the command line:
As always, I hope this helps.
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 == 0):
beginDate = datetime.date(datetime.fromisoformat(s))
elif (i == 1):
endDate = datetime.date(datetime.fromisoformat(s))
except ValueError:
print("One of the first two arguments is not a valid date (YYYY-MM-DD).")
# Print the processed values and types.
print("Begin Date: [",beginDate,"][",type(beginDate),"]")
print("End Date: [",endDate,"][",type(endDate),"]") |
#!/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 == 0):
beginDate = datetime.date(datetime.fromisoformat(s))
elif (i == 1):
endDate = datetime.date(datetime.fromisoformat(s))
except ValueError:
print("One of the first two arguments is not a valid date (YYYY-MM-DD).")
# Print the processed values and types.
print("Begin Date: [",beginDate,"][",type(beginDate),"]")
print("End Date: [",endDate,"][",type(endDate),"]")
Assume you call this arguments.py
. Then, you call it with valid conforming date format value like the following command-line example:
./arguments.py 2001-01-01 2003-12-31 |
./arguments.py 2001-01-01 2003-12-31
It returns the arguments after they have been converted to date
data types. The results should look like this:
Begin Date: 1991-01-01 [ <class 'datetime.date'> ]
End Date: 2004-12-31 [ <class 'datetime.date'> ] |
Begin Date: 1991-01-01 [ <class 'datetime.date'> ]
End Date: 2004-12-31 [ <class 'datetime.date'> ]
The next Python example accepts dynamic arguments at the command line to query the MySQL database:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
| #!/usr/bin/python3
# Import the library.
import sys
import mysql.connector
from datetime import datetime
from datetime import date
from mysql.connector import errorcode
# Capture argument list.
fullCmdArguments = sys.argv
# Assignable variables.
start_date = ""
end_date = ""
# Assign argument list to variable.
argumentList = fullCmdArguments[1:]
# Check and process argument list.
# ============================================================
# If there are less than two arguments provide default values.
# Else enumerate and convert strings to dates.
# ============================================================
if (len(argumentList) < 2):
# Set a default start date.
if (isinstance(start_date,str)):
start_date = date(1980, 1, 1)
# Set the default end date.
if (isinstance(end_date,str)):
end_date = datetime.date(datetime.today())
else:
# Enumerate through the argument list where beginDate precedes endDate as strings.
try:
for i, s in enumerate(argumentList):
if (i == 0):
start_date = datetime.date(datetime.fromisoformat(s))
elif (i == 1):
end_date = datetime.date(datetime.fromisoformat(s))
except ValueError:
print("One of the first two arguments is not a valid date (YYYY-MM-DD).")
# Attempt the query.
# ============================================================
# Use a try-catch block to manage the connection.
# ============================================================
try:
# Open connection.
cnx = mysql.connector.connect(user='student', password='student',
host='127.0.0.1',
database='studentdb')
# Create cursor.
cursor = cnx.cursor()
# Set the query statement.
query = ("SELECT CASE "
" WHEN item_subtitle IS NULL THEN item_title "
" ELSE CONCAT(item_title,': ',item_subtitle) "
" END AS title, "
"release_date "
"FROM item "
"WHERE release_date BETWEEN %s AND %s "
"ORDER BY item_title")
# Execute cursor.
cursor.execute(query, (start_date, end_date))
# Display the rows returned by the query.
for (item_name, release_date) in cursor:
print("{}, {:%d-%b-%Y}".format(item_name, release_date))
# Handle exception and close connection.
# ============================================================
except mysql.connector.Error as e:
if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif e.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print("Error code:", e.errno) # error number
print("SQLSTATE value:", e.sqlstate) # SQLSTATE value
print("Error message:", e.msg) # error message
# Close the connection when the try block completes.
finally:
cnx.close() |
#!/usr/bin/python3
# Import the library.
import sys
import mysql.connector
from datetime import datetime
from datetime import date
from mysql.connector import errorcode
# Capture argument list.
fullCmdArguments = sys.argv
# Assignable variables.
start_date = ""
end_date = ""
# Assign argument list to variable.
argumentList = fullCmdArguments[1:]
# Check and process argument list.
# ============================================================
# If there are less than two arguments provide default values.
# Else enumerate and convert strings to dates.
# ============================================================
if (len(argumentList) < 2):
# Set a default start date.
if (isinstance(start_date,str)):
start_date = date(1980, 1, 1)
# Set the default end date.
if (isinstance(end_date,str)):
end_date = datetime.date(datetime.today())
else:
# Enumerate through the argument list where beginDate precedes endDate as strings.
try:
for i, s in enumerate(argumentList):
if (i == 0):
start_date = datetime.date(datetime.fromisoformat(s))
elif (i == 1):
end_date = datetime.date(datetime.fromisoformat(s))
except ValueError:
print("One of the first two arguments is not a valid date (YYYY-MM-DD).")
# Attempt the query.
# ============================================================
# Use a try-catch block to manage the connection.
# ============================================================
try:
# Open connection.
cnx = mysql.connector.connect(user='student', password='student',
host='127.0.0.1',
database='studentdb')
# Create cursor.
cursor = cnx.cursor()
# Set the query statement.
query = ("SELECT CASE "
" WHEN item_subtitle IS NULL THEN item_title "
" ELSE CONCAT(item_title,': ',item_subtitle) "
" END AS title, "
"release_date "
"FROM item "
"WHERE release_date BETWEEN %s AND %s "
"ORDER BY item_title")
# Execute cursor.
cursor.execute(query, (start_date, end_date))
# Display the rows returned by the query.
for (item_name, release_date) in cursor:
print("{}, {:%d-%b-%Y}".format(item_name, release_date))
# Handle exception and close connection.
# ============================================================
except mysql.connector.Error as e:
if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif e.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print("Error code:", e.errno) # error number
print("SQLSTATE value:", e.sqlstate) # SQLSTATE value
print("Error message:", e.msg) # error message
# Close the connection when the try block completes.
finally:
cnx.close()
You can call the python-mysql-query.py
program with the following syntax:
./python-mysql-query.py 2001-01-01 2003-12-31 |
./python-mysql-query.py 2001-01-01 2003-12-31
It returns the films between 1 Jan 2001 and 31 Dec 2003, like this:
Clear and Present Danger: Special Collector's Edition, 06-May-2003
Die Another Day: 2-Disc Ultimate Version, 03-Jun-2003
Die Another Day, 03-Jun-2003
Die Another Day, 03-Jun-2003
Golden Eye, 03-Jun-2003
Golden Eye: Special Edition, 03-Jun-2003
Harry Potter and the Chamber of Secrets, 28-May-2002
Harry Potter and the Chamber of Secrets: Two-Disc Special Edition, 28-May-2002
Harry Potter and the Sorcerer's Stone, 28-May-2002
Harry Potter and the Sorcerer's Stone: Two-Disc Special Edition, 28-May-2002
Harry Potter and the Sorcerer's Stone: Full Screen Edition, 28-May-2002
MarioKart: Double Dash, 17-Nov-2003
Pirates of the Caribbean, 30-Jun-2003
RoboCop, 24-Jul-2003
Splinter Cell: Chaos Theory, 08-Apr-2003
Star Wars II: Attack of the Clones, 16-May-2002
Star Wars II: Attack of the Clones, 16-May-2002
The Chronicles of Narnia: The Lion, the Witch and the Wardrobe, 30-Jun-2003
The Chronicles of Narnia: The Lion, the Witch and the Wardrobe, 16-May-2002 |
Clear and Present Danger: Special Collector's Edition, 06-May-2003
Die Another Day: 2-Disc Ultimate Version, 03-Jun-2003
Die Another Day, 03-Jun-2003
Die Another Day, 03-Jun-2003
Golden Eye, 03-Jun-2003
Golden Eye: Special Edition, 03-Jun-2003
Harry Potter and the Chamber of Secrets, 28-May-2002
Harry Potter and the Chamber of Secrets: Two-Disc Special Edition, 28-May-2002
Harry Potter and the Sorcerer's Stone, 28-May-2002
Harry Potter and the Sorcerer's Stone: Two-Disc Special Edition, 28-May-2002
Harry Potter and the Sorcerer's Stone: Full Screen Edition, 28-May-2002
MarioKart: Double Dash, 17-Nov-2003
Pirates of the Caribbean, 30-Jun-2003
RoboCop, 24-Jul-2003
Splinter Cell: Chaos Theory, 08-Apr-2003
Star Wars II: Attack of the Clones, 16-May-2002
Star Wars II: Attack of the Clones, 16-May-2002
The Chronicles of Narnia: The Lion, the Witch and the Wardrobe, 30-Jun-2003
The Chronicles of Narnia: The Lion, the Witch and the Wardrobe, 16-May-2002
As always, I hope this helps somebody who wants to learn how to use Python with the MySQL database.
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* |
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.
=====================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================
Installing:
mysql-connector-python x86_64 8.0.17-1.fc30 mysql-connectors-community 435 k
mysql-connector-python-cext x86_64 8.0.17-1.fc30 mysql-connectors-community 7.7 M
mysql-connector-python3 x86_64 8.0.17-1.fc30 mysql-connectors-community 429 k
mysql-connector-python3-cext x86_64 8.0.17-1.fc30 mysql-connectors-community 7.7 M
Installing dependencies:
python2-protobuf noarch 3.6.1-3.fc30 fedora 563 k
python3-protobuf noarch 3.6.1-3.fc30 fedora 568 k
Transaction Summary
=====================================================================================================================================
Install 6 Packages
Total download size: 17 M
Installed size: 89 M
Downloading Packages:
(1/6): python3-protobuf-3.6.1-3.fc30.noarch.rpm 1.0 MB/s | 568 kB 00:00
(2/6): python2-protobuf-3.6.1-3.fc30.noarch.rpm 994 kB/s | 563 kB 00:00
(3/6): mysql-connector-python-8.0.17-1.fc30.x86_64.rpm 481 kB/s | 435 kB 00:00
(4/6): mysql-connector-python3-8.0.17-1.fc30.x86_64.rpm 612 kB/s | 429 kB 00:00
(5/6): mysql-connector-python-cext-8.0.17-1.fc30.x86_64.rpm 3.8 MB/s | 7.7 MB 00:02
(6/6): mysql-connector-python3-cext-8.0.17-1.fc30.x86_64.rpm 4.2 MB/s | 7.7 MB 00:01
-------------------------------------------------------------------------------------------------------------------------------------
Total 5.4 MB/s | 17 MB 00:03
warning: /var/cache/dnf/mysql-connectors-community-8bcc2bd350b53f70/packages/mysql-connector-python-8.0.17-1.fc30.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
MySQL Connectors Community 7.0 MB/s | 27 kB 00:00
Importing GPG key 0x5072E1F5:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-protobuf-3.6.1-3.fc30.noarch 1/6
Installing : python2-protobuf-3.6.1-3.fc30.noarch 2/6
Installing : mysql-connector-python-8.0.17-1.fc30.x86_64 3/6
Installing : mysql-connector-python3-8.0.17-1.fc30.x86_64 4/6
Installing : mysql-connector-python3-cext-8.0.17-1.fc30.x86_64 5/6
Installing : mysql-connector-python-cext-8.0.17-1.fc30.x86_64 6/6
Running scriptlet: mysql-connector-python-cext-8.0.17-1.fc30.x86_64 6/6
Verifying : python2-protobuf-3.6.1-3.fc30.noarch 1/6
Verifying : python3-protobuf-3.6.1-3.fc30.noarch 2/6
Verifying : mysql-connector-python-8.0.17-1.fc30.x86_64 3/6
Verifying : mysql-connector-python-cext-8.0.17-1.fc30.x86_64 4/6
Verifying : mysql-connector-python3-8.0.17-1.fc30.x86_64 5/6
Verifying : mysql-connector-python3-cext-8.0.17-1.fc30.x86_64 6/6
Installed:
mysql-connector-python-8.0.17-1.fc30.x86_64 mysql-connector-python-cext-8.0.17-1.fc30.x86_64
mysql-connector-python3-8.0.17-1.fc30.x86_64 mysql-connector-python3-cext-8.0.17-1.fc30.x86_64
python2-protobuf-3.6.1-3.fc30.noarch python3-protobuf-3.6.1-3.fc30.noarch
Complete! |
Last metadata expiration check: 0:35:46 ago on Tue 20 Aug 2019 05:36:29 PM MDT.
Dependencies resolved.
=====================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================
Installing:
mysql-connector-python x86_64 8.0.17-1.fc30 mysql-connectors-community 435 k
mysql-connector-python-cext x86_64 8.0.17-1.fc30 mysql-connectors-community 7.7 M
mysql-connector-python3 x86_64 8.0.17-1.fc30 mysql-connectors-community 429 k
mysql-connector-python3-cext x86_64 8.0.17-1.fc30 mysql-connectors-community 7.7 M
Installing dependencies:
python2-protobuf noarch 3.6.1-3.fc30 fedora 563 k
python3-protobuf noarch 3.6.1-3.fc30 fedora 568 k
Transaction Summary
=====================================================================================================================================
Install 6 Packages
Total download size: 17 M
Installed size: 89 M
Downloading Packages:
(1/6): python3-protobuf-3.6.1-3.fc30.noarch.rpm 1.0 MB/s | 568 kB 00:00
(2/6): python2-protobuf-3.6.1-3.fc30.noarch.rpm 994 kB/s | 563 kB 00:00
(3/6): mysql-connector-python-8.0.17-1.fc30.x86_64.rpm 481 kB/s | 435 kB 00:00
(4/6): mysql-connector-python3-8.0.17-1.fc30.x86_64.rpm 612 kB/s | 429 kB 00:00
(5/6): mysql-connector-python-cext-8.0.17-1.fc30.x86_64.rpm 3.8 MB/s | 7.7 MB 00:02
(6/6): mysql-connector-python3-cext-8.0.17-1.fc30.x86_64.rpm 4.2 MB/s | 7.7 MB 00:01
-------------------------------------------------------------------------------------------------------------------------------------
Total 5.4 MB/s | 17 MB 00:03
warning: /var/cache/dnf/mysql-connectors-community-8bcc2bd350b53f70/packages/mysql-connector-python-8.0.17-1.fc30.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
MySQL Connectors Community 7.0 MB/s | 27 kB 00:00
Importing GPG key 0x5072E1F5:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-protobuf-3.6.1-3.fc30.noarch 1/6
Installing : python2-protobuf-3.6.1-3.fc30.noarch 2/6
Installing : mysql-connector-python-8.0.17-1.fc30.x86_64 3/6
Installing : mysql-connector-python3-8.0.17-1.fc30.x86_64 4/6
Installing : mysql-connector-python3-cext-8.0.17-1.fc30.x86_64 5/6
Installing : mysql-connector-python-cext-8.0.17-1.fc30.x86_64 6/6
Running scriptlet: mysql-connector-python-cext-8.0.17-1.fc30.x86_64 6/6
Verifying : python2-protobuf-3.6.1-3.fc30.noarch 1/6
Verifying : python3-protobuf-3.6.1-3.fc30.noarch 2/6
Verifying : mysql-connector-python-8.0.17-1.fc30.x86_64 3/6
Verifying : mysql-connector-python-cext-8.0.17-1.fc30.x86_64 4/6
Verifying : mysql-connector-python3-8.0.17-1.fc30.x86_64 5/6
Verifying : mysql-connector-python3-cext-8.0.17-1.fc30.x86_64 6/6
Installed:
mysql-connector-python-8.0.17-1.fc30.x86_64 mysql-connector-python-cext-8.0.17-1.fc30.x86_64
mysql-connector-python3-8.0.17-1.fc30.x86_64 mysql-connector-python3-cext-8.0.17-1.fc30.x86_64
python2-protobuf-3.6.1-3.fc30.noarch python3-protobuf-3.6.1-3.fc30.noarch
Complete!
Leveraging the MySQL Connector/Python Coding Examples documentation, Section 5.1 Connecting to MySQL Using Connector/Python here’s a test of the connection to MySQL 8.
# Import the library.
import mysql.connector
from mysql.connector import errorcode
try:
# Open connection.
cnx = mysql.connector.connect(user='student', password='student',
host='127.0.0.1',
database='studentdb')
# Print the value.
print("Database connection resolved.")
# Handle exception and close connection.
except mysql.connector.Error as e:
if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif e.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(e)
# Close the connection when the try block completes.
else:
cnx.close() |
# Import the library.
import mysql.connector
from mysql.connector import errorcode
try:
# Open connection.
cnx = mysql.connector.connect(user='student', password='student',
host='127.0.0.1',
database='studentdb')
# Print the value.
print("Database connection resolved.")
# Handle exception and close connection.
except mysql.connector.Error as e:
if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif e.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(e)
# Close the connection when the try block completes.
else:
cnx.close()
Leveraging the MySQL Connector/Python Coding Examples documentation, Section 5.4 Querying Data Using Connector/Python here’s a test of the connection to MySQL 8.
# Import the library.
import datetime
import mysql.connector
from mysql.connector import errorcode
try:
# Open connection.
cnx = mysql.connector.connect(user='student', password='student',
host='127.0.0.1',
database='studentdb')
# Create cursor.
cursor = cnx.cursor()
# Set the query statement.
query = ("SELECT "
"CASE "
" WHEN item_subtitle IS NULL THEN item_title "
" ELSE CONCAT(item_title,': ',item_subtitle) "
"END AS title, "
"release_date "
"FROM item "
"WHERE release_date BETWEEN %s AND %s "
"ORDER BY item_title")
# Set the start and end date.
start_date = datetime.date(1991, 1, 1)
end_date = datetime.date(2004, 12, 31)
# Execute cursor.
cursor.execute(query, (start_date, end_date))
# Display the rows returned by the query.
for (item_name, release_date) in cursor:
print("{}, {:%d %b %Y}".format(item_name, release_date))
# Close cursor.
cursor.close()
# ------------------------------------------------------------
# Handle exception and close connection.
except mysql.connector.Error as e:
if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif e.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print "Error code:", e.errno # error number
print "SQLSTATE value:", e.sqlstate # SQLSTATE value
print "Error message:", e.msg # error message
# Close the connection when the try block completes.
else:
cnx.close() |
# Import the library.
import datetime
import mysql.connector
from mysql.connector import errorcode
try:
# Open connection.
cnx = mysql.connector.connect(user='student', password='student',
host='127.0.0.1',
database='studentdb')
# Create cursor.
cursor = cnx.cursor()
# Set the query statement.
query = ("SELECT "
"CASE "
" WHEN item_subtitle IS NULL THEN item_title "
" ELSE CONCAT(item_title,': ',item_subtitle) "
"END AS title, "
"release_date "
"FROM item "
"WHERE release_date BETWEEN %s AND %s "
"ORDER BY item_title")
# Set the start and end date.
start_date = datetime.date(1991, 1, 1)
end_date = datetime.date(2004, 12, 31)
# Execute cursor.
cursor.execute(query, (start_date, end_date))
# Display the rows returned by the query.
for (item_name, release_date) in cursor:
print("{}, {:%d %b %Y}".format(item_name, release_date))
# Close cursor.
cursor.close()
# ------------------------------------------------------------
# Handle exception and close connection.
except mysql.connector.Error as e:
if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif e.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print "Error code:", e.errno # error number
print "SQLSTATE value:", e.sqlstate # SQLSTATE value
print "Error message:", e.msg # error message
# Close the connection when the try block completes.
else:
cnx.close()
If you run the above in Python 2.7 it works fine. It fails to parse successfully in Python 3.x because the print()
function requires the parentheses all the time. You would need to re-write the except
block, like this with the parentheses:
# Handle exception and close connection.
except mysql.connector.Error as e:
if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif e.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print("Error code:", e.errno) # error number
print("SQLSTATE value:", e.sqlstate) # SQLSTATE value
print("Error message:", e.msg) # error message |
# Handle exception and close connection.
except mysql.connector.Error as e:
if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif e.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print("Error code:", e.errno) # error number
print("SQLSTATE value:", e.sqlstate) # SQLSTATE value
print("Error message:", e.msg) # error message
While it works without the parentheses in Python 2.7, it also works with the parentheses. That means the best practice is to write cross compatible code by always using the parentheses with the print()
function.
As always, I hope this helps somebody.j
While updating my class image to Fedora 30, I noticed that it installed the Akonadi Server. The documentation on the Akonadi server lacked some straightforward documentation. It also offered a bundled set of software that limited how to approach MySQL development.
So, I removed all those packages with the following syntax:
dnf remove `rpm -qa | grep akonadi` |
dnf remove `rpm -qa | grep akonadi`
Display detailed console log →
Dependencies resolved.
=============================================================================
Package Arch Version Repo Size
=============================================================================
Removing:
akonadi-import-wizard x86_64 19.04.2-1.fc30 @updates 2.8 M
kf5-akonadi-calendar x86_64 19.04.2-1.fc30 @updates 2.6 M
kf5-akonadi-contacts x86_64 19.04.2-1.fc30 @updates 3.3 M
kf5-akonadi-mime x86_64 19.04.2-1.fc30 @updates 1.1 M
kf5-akonadi-notes x86_64 19.04.2-1.fc30 @updates 170 k
kf5-akonadi-search x86_64 19.04.2-1.fc30 @updates 1.6 M
kf5-akonadi-server x86_64 19.04.2-2.fc30 @updates 14 M
kf5-akonadi-server-mysql x86_64 19.04.2-2.fc30 @updates 3.4 k
kf5-kmailtransport-akonadi x86_64 19.04.2-1.fc30 @updates 204 k
kf5-libkdepim-akonadi x86_64 19.04.2-1.fc30 @updates 973 k
kf5-mailimporter-akonadi x86_64 19.04.2-1.fc30 @updates 106 k
kf5-pimcommon-akonadi x86_64 19.04.2-1.fc30 @updates 542 k
Removing dependent packages:
akregator x86_64 19.04.2-1.fc30 @updates 3.9 M
akregator-libs x86_64 19.04.2-1.fc30 @updates 3.3 M
digikam x86_64 6.1.0-7.fc30 @updates 149 M
digikam-libs x86_64 6.1.0-7.fc30 @updates 47 M
kgpg x86_64 18.12.2-1.fc30 @fedora 8.0 M
kontact x86_64 19.04.2-1.fc30 @updates 1.6 M
Removing unused dependencies:
CharLS x86_64 1.0-18.fc30 @fedora 341 k
coin-or-Clp x86_64 1.16.10-8.fc30 @fedora 2.8 M
coin-or-CoinUtils x86_64 2.10.14-3.fc30 @fedora 1.5 M
coin-or-Osi x86_64 0.107.8-9.fc30 @fedora 1.1 M
digikam-doc noarch 6.1.0-7.fc30 @updates 0
enblend x86_64 4.2-10.fc29 @fedora 4.9 M
gdcm x86_64 2.8.8-4.fc30 @fedora 11 M
grantlee-editor x86_64 19.04.2-1.fc30 @updates 1.4 M
grantlee-editor-libs x86_64 19.04.2-1.fc30 @updates 208 k
hugin-base x86_64 2019.0.0-1.fc30 @updates 28 M
kaddressbook x86_64 19.04.2-1.fc30 @updates 758 k
kaddressbook-libs x86_64 19.04.2-1.fc30 @updates 847 k
kdepim-addons x86_64 19.04.2-1.fc30 @updates 11 M
kdepim-apps-libs x86_64 19.04.2-1.fc30 @updates 1.1 M
kdepim-runtime x86_64 1:19.04.2-1.fc30 @updates 20 M
kdepim-runtime-libs x86_64 1:19.04.2-1.fc30 @updates 2.6 M
kf5-calendarsupport x86_64 19.04.2-1.fc30 @updates 3.4 M
kf5-eventviews x86_64 19.04.2-1.fc30 @updates 3.7 M
kf5-grantleetheme x86_64 19.04.2-1.fc30 @updates 283 k
kf5-incidenceeditor x86_64 19.04.2-1.fc30 @updates 3.4 M
kf5-kalarmcal x86_64 19.04.2-1.fc30 @updates 1.1 M
kf5-kcalendarcore x86_64 19.04.2-1.fc30 @updates 1.4 M
kf5-kcalendarutils x86_64 19.04.2-1.fc30 @updates 1.9 M
kf5-kcontacts x86_64 19.04.2-1.fc30 @updates 2.1 M
kf5-kdav x86_64 19.04.2-1.fc30 @updates 591 k
kf5-kidentitymanagement x86_64 19.04.2-1.fc30 @updates 511 k
kf5-kimap x86_64 19.04.2-1.fc30 @updates 1.3 M
kf5-kitinerary x86_64 19.04.2-1.fc30 @updates 1.8 M
kf5-kldap x86_64 19.04.2-1.fc30 @updates 885 k
kf5-kmailtransport x86_64 19.04.2-1.fc30 @updates 1.2 M
kf5-kmbox x86_64 19.04.2-1.fc30 @updates 116 k
kf5-kmime x86_64 19.04.2-1.fc30 @updates 798 k
kf5-kontactinterface x86_64 19.04.2-1.fc30 @updates 242 k
kf5-kpimtextedit x86_64 19.04.2-2.fc30 @updates 1.3 M
kf5-kpkpass x86_64 19.04.2-1.fc30 @updates 172 k
kf5-ksmtp x86_64 19.04.2-1.fc30 @updates 258 k
kf5-ktnef x86_64 19.04.2-1.fc30 @updates 650 k
kf5-libgravatar x86_64 19.04.2-1.fc30 @updates 247 k
kf5-libkdepim x86_64 19.04.2-1.fc30 @updates 1.6 M
kf5-libkleo x86_64 19.04.2-1.fc30 @updates 2.7 M
kf5-libksieve x86_64 19.04.2-1.fc30 @updates 5.2 M
kf5-mailcommon x86_64 19.04.2-1.fc30 @updates 4.6 M
kf5-mailimporter x86_64 19.04.2-1.fc30 @updates 1.5 M
kf5-messagelib x86_64 19.04.2-1.fc30 @updates 18 M
kf5-pimcommon x86_64 19.04.2-1.fc30 @updates 1.9 M
kmail x86_64 19.04.2-2.fc30 @updates 14 M
kmail-account-wizard x86_64 19.04.2-1.fc30 @updates 3.3 M
kmail-libs x86_64 19.04.2-2.fc30 @updates 5.5 M
kontact-libs x86_64 19.04.2-1.fc30 @updates 433 k
korganizer x86_64 19.04.2-1.fc30 @updates 7.3 M
korganizer-libs x86_64 19.04.2-1.fc30 @updates 3.9 M
lensfun x86_64 0.3.2-19.fc30 @fedora 2.0 M
libdc1394 x86_64 2.2.2-12.fc30 @fedora 379 k
libical x86_64 3.0.4-3.fc30 @fedora 1.8 M
libkgapi x86_64 19.04.2-1.fc30 @updates 3.6 M
libkolabxml x86_64 1.1.6-10.fc30 @fedora 3.9 M
liblqr-1 x86_64 0.4.2-12.fc30 @fedora 120 k
libpano13 x86_64 2.9.19-9.fc30 @fedora 672 k
libucil x86_64 0.9.10-18.fc30 @fedora 217 k
libunicap x86_64 0.9.12-23.fc30 @fedora 485 k
libva x86_64 2.4.1-1.fc30 @fedora 284 k
mariadb x86_64 3:10.3.16-1.fc30 @updates 39 M
mariadb-backup x86_64 3:10.3.16-1.fc30 @updates 27 M
mariadb-common x86_64 3:10.3.16-1.fc30 @updates 179 k
mariadb-cracklib-password-check x86_64 3:10.3.16-1.fc30 @updates 21 k
mariadb-errmsg x86_64 3:10.3.16-1.fc30 @updates 2.3 M
mariadb-gssapi-server x86_64 3:10.3.16-1.fc30 @updates 28 k
mariadb-server x86_64 3:10.3.16-1.fc30 @updates 96 M
mariadb-server-utils x86_64 3:10.3.16-1.fc30 @updates 7.4 M
mesa-libOSMesa x86_64 19.1.3-1.fc30 @updates 9.6 M
netcdf-cxx x86_64 4.2-21.fc30 @fedora 153 k
opencv-contrib x86_64 3.4.4-10.fc30 @updates 19 M
opencv-core x86_64 3.4.4-10.fc30 @updates 20 M
openni x86_64 1.5.7.10-15.fc30 @updates 2.7 M
perl-DBD-MySQL x86_64 4.050-2.fc30 @fedora 367 k
perl-Image-ExifTool noarch 11.50-1.fc30 @updates 14 M
pim-data-exporter x86_64 19.04.2-1.fc30 @updates 1.2 M
pim-data-exporter-libs x86_64 19.04.2-1.fc30 @updates 738 k
pim-sieve-editor x86_64 19.04.2-1.fc30 @updates 1.7 M
protobuf x86_64 3.6.1-3.fc30 @fedora 3.8 M
qt5-qtbase-mysql x86_64 5.12.4-4.fc30 @updates 96 k
tinyxml x86_64 2.6.2-18.fc30 @fedora 156 k
vigra x86_64 1.11.1-13.fc30 @fedora 714 k
vtk x86_64 8.1.1-5.fc30 @updates 100 M
Transaction Summary
=============================================================================
Remove 102 Packages
Freed space: 783 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: opencv-contrib-3.4.4-10.fc30.x86_64 1/1
Erasing : opencv-contrib-3.4.4-10.fc30.x86_64 1/102
Erasing : kontact-19.04.2-1.fc30.x86_64 2/102
Erasing : kmail-19.04.2-2.fc30.x86_64 3/102
Erasing : kmail-libs-19.04.2-2.fc30.x86_64 4/102
Erasing : korganizer-19.04.2-1.fc30.x86_64 5/102
Erasing : korganizer-libs-19.04.2-1.fc30.x86_64 6/102
Erasing : kmail-account-wizard-19.04.2-1.fc30.x86_64 7/102
Erasing : grantlee-editor-19.04.2-1.fc30.x86_64 8/102
Erasing : pim-data-exporter-19.04.2-1.fc30.x86_64 9/102
Erasing : pim-data-exporter-libs-19.04.2-1.fc30.x86_64 10/102
Erasing : digikam-6.1.0-7.fc30.x86_64 11/102
Erasing : digikam-libs-6.1.0-7.fc30.x86_64 12/102
Erasing : opencv-core-3.4.4-10.fc30.x86_64 13/102
Erasing : kaddressbook-19.04.2-1.fc30.x86_64 14/102
Erasing : kdepim-addons-19.04.2-1.fc30.x86_64 15/102
Erasing : kdepim-runtime-1:19.04.2-1.fc30.x86_64 16/102
Erasing : kf5-incidenceeditor-19.04.2-1.fc30.x86_64 17/102
Erasing : kaddressbook-libs-19.04.2-1.fc30.x86_64 18/102
Erasing : kdepim-runtime-libs-1:19.04.2-1.fc30.x86_64 19/102
Erasing : akonadi-import-wizard-19.04.2-1.fc30.x86_64 20/102
Erasing : kf5-mailcommon-19.04.2-1.fc30.x86_64 21/102
Erasing : kf5-eventviews-19.04.2-1.fc30.x86_64 22/102
Erasing : kf5-calendarsupport-19.04.2-1.fc30.x86_64 23/102
Erasing : kf5-akonadi-calendar-19.04.2-1.fc30.x86_64 24/102
Erasing : akregator-19.04.2-1.fc30.x86_64 25/102
Erasing : akregator-libs-19.04.2-1.fc30.x86_64 26/102
Erasing : kf5-messagelib-19.04.2-1.fc30.x86_64 27/102
Erasing : kf5-pimcommon-akonadi-19.04.2-1.fc30.x86_64 28/102
Erasing : kf5-libkdepim-akonadi-19.04.2-1.fc30.x86_64 29/102
Erasing : kdepim-apps-libs-19.04.2-1.fc30.x86_64 30/102
Erasing : kf5-akonadi-search-19.04.2-1.fc30.x86_64 31/102
Erasing : kf5-mailimporter-akonadi-19.04.2-1.fc30.x86_6 32/102
Erasing : kf5-kalarmcal-19.04.2-1.fc30.x86_64 33/102
Erasing : kf5-kitinerary-19.04.2-1.fc30.x86_64 34/102
Erasing : hugin-base-2019.0.0-1.fc30.x86_64 35/102
Erasing : pim-sieve-editor-19.04.2-1.fc30.x86_64 36/102
Erasing : kf5-kmailtransport-19.04.2-1.fc30.x86_64 37/102
Erasing : kf5-libksieve-19.04.2-1.fc30.x86_64 38/102
Erasing : kf5-ktnef-19.04.2-1.fc30.x86_64 39/102
Erasing : kontact-libs-19.04.2-1.fc30.x86_64 40/102
Erasing : kgpg-18.12.2-1.fc30.x86_64 41/102
Erasing : kf5-akonadi-contacts-19.04.2-1.fc30.x86_64 42/102
Erasing : kf5-kcalendarutils-19.04.2-1.fc30.x86_64 43/102
Erasing : kf5-kmailtransport-akonadi-19.04.2-1.fc30.x86 44/102
Erasing : kf5-akonadi-mime-19.04.2-1.fc30.x86_64 45/102
Erasing : libkgapi-19.04.2-1.fc30.x86_64 46/102
Erasing : kf5-kcalendarcore-19.04.2-1.fc30.x86_64 47/102
Erasing : coin-or-Clp-1.16.10-8.fc30.x86_64 48/102
Erasing : vtk-8.1.1-5.fc30.x86_64 49/102
Erasing : coin-or-Osi-0.107.8-9.fc30.x86_64 50/102
Erasing : kf5-akonadi-server-19.04.2-2.fc30.x86_64 51/102
Running scriptlet: kf5-akonadi-server-19.04.2-2.fc30.x86_64 51/102
Erasing : kf5-akonadi-server-mysql-19.04.2-2.fc30.x86_6 52/102
Running scriptlet: kf5-akonadi-server-mysql-19.04.2-2.fc30.x86_6 52/102
Erasing : kf5-kidentitymanagement-19.04.2-1.fc30.x86_64 53/102
Erasing : enblend-4.2-10.fc29.x86_64 54/102
Erasing : kf5-mailimporter-19.04.2-1.fc30.x86_64 55/102
Erasing : kf5-libkleo-19.04.2-1.fc30.x86_64 56/102
Erasing : kf5-kimap-19.04.2-1.fc30.x86_64 57/102
Erasing : kf5-libgravatar-19.04.2-1.fc30.x86_64 58/102
Erasing : kf5-pimcommon-19.04.2-1.fc30.x86_64 59/102
Erasing : kf5-libkdepim-19.04.2-1.fc30.x86_64 60/102
Erasing : kf5-kmbox-19.04.2-1.fc30.x86_64 61/102
Erasing : kf5-akonadi-notes-19.04.2-1.fc30.x86_64 62/102
Running scriptlet: openni-1.5.7.10-15.fc30.x86_64 63/102
Erasing : openni-1.5.7.10-15.fc30.x86_64 63/102
Erasing : gdcm-2.8.8-4.fc30.x86_64 64/102
Erasing : libucil-0.9.10-18.fc30.x86_64 65/102
Erasing : grantlee-editor-libs-19.04.2-1.fc30.x86_64 66/102
Erasing : mariadb-gssapi-server-3:10.3.16-1.fc30.x86_64 67/102
Erasing : libunicap-0.9.12-23.fc30.x86_64 68/102
Erasing : perl-Image-ExifTool-11.50-1.fc30.noarch 69/102
Erasing : libkolabxml-1.1.6-10.fc30.x86_64 70/102
Erasing : digikam-doc-6.1.0-7.fc30.noarch 71/102
Erasing : mariadb-3:10.3.16-1.fc30.x86_64 72/102
Erasing : mariadb-backup-3:10.3.16-1.fc30.x86_64 73/102
Erasing : mariadb-cracklib-password-check-3:10.3.16-1.f 74/102
Running scriptlet: mariadb-server-3:10.3.16-1.fc30.x86_64 75/102
Erasing : mariadb-server-3:10.3.16-1.fc30.x86_64 75/102
Running scriptlet: mariadb-server-3:10.3.16-1.fc30.x86_64 75/102
Erasing : mariadb-errmsg-3:10.3.16-1.fc30.x86_64 76/102
Erasing : mariadb-server-utils-3:10.3.16-1.fc30.x86_64 77/102
Erasing : mariadb-common-3:10.3.16-1.fc30.x86_64 78/102
Erasing : perl-DBD-MySQL-4.050-2.fc30.x86_64 79/102
Erasing : kf5-kpimtextedit-19.04.2-2.fc30.x86_64 80/102
Erasing : CharLS-1.0-18.fc30.x86_64 81/102
Erasing : tinyxml-2.6.2-18.fc30.x86_64 82/102
Erasing : kf5-kmime-19.04.2-1.fc30.x86_64 83/102
Erasing : kf5-kcontacts-19.04.2-1.fc30.x86_64 84/102
Erasing : kf5-kldap-19.04.2-1.fc30.x86_64 85/102
Erasing : vigra-1.11.1-13.fc30.x86_64 86/102
Erasing : qt5-qtbase-mysql-5.12.4-4.fc30.x86_64 87/102
Erasing : coin-or-CoinUtils-2.10.14-3.fc30.x86_64 88/102
Erasing : mesa-libOSMesa-19.1.3-1.fc30.x86_64 89/102
Erasing : netcdf-cxx-4.2-21.fc30.x86_64 90/102
Running scriptlet: netcdf-cxx-4.2-21.fc30.x86_64 90/102
Erasing : libical-3.0.4-3.fc30.x86_64 91/102
Erasing : kf5-grantleetheme-19.04.2-1.fc30.x86_64 92/102
Erasing : kf5-kontactinterface-19.04.2-1.fc30.x86_64 93/102
Erasing : kf5-ksmtp-19.04.2-1.fc30.x86_64 94/102
Erasing : libpano13-2.9.19-9.fc30.x86_64 95/102
Erasing : kf5-kpkpass-19.04.2-1.fc30.x86_64 96/102
Erasing : kf5-kdav-19.04.2-1.fc30.x86_64 97/102
Erasing : libdc1394-2.2.2-12.fc30.x86_64 98/102
Erasing : libva-2.4.1-1.fc30.x86_64 99/102
Erasing : lensfun-0.3.2-19.fc30.x86_64 100/102
Erasing : liblqr-1-0.4.2-12.fc30.x86_64 101/102
Erasing : protobuf-3.6.1-3.fc30.x86_64 102/102
Running scriptlet: protobuf-3.6.1-3.fc30.x86_64 102/102
Verifying : CharLS-1.0-18.fc30.x86_64 1/102
Verifying : akonadi-import-wizard-19.04.2-1.fc30.x86_64 2/102
Verifying : akregator-19.04.2-1.fc30.x86_64 3/102
Verifying : akregator-libs-19.04.2-1.fc30.x86_64 4/102
Verifying : coin-or-Clp-1.16.10-8.fc30.x86_64 5/102
Verifying : coin-or-CoinUtils-2.10.14-3.fc30.x86_64 6/102
Verifying : coin-or-Osi-0.107.8-9.fc30.x86_64 7/102
Verifying : digikam-6.1.0-7.fc30.x86_64 8/102
Verifying : digikam-doc-6.1.0-7.fc30.noarch 9/102
Verifying : digikam-libs-6.1.0-7.fc30.x86_64 10/102
Verifying : enblend-4.2-10.fc29.x86_64 11/102
Verifying : gdcm-2.8.8-4.fc30.x86_64 12/102
Verifying : grantlee-editor-19.04.2-1.fc30.x86_64 13/102
Verifying : grantlee-editor-libs-19.04.2-1.fc30.x86_64 14/102
Verifying : hugin-base-2019.0.0-1.fc30.x86_64 15/102
Verifying : kaddressbook-19.04.2-1.fc30.x86_64 16/102
Verifying : kaddressbook-libs-19.04.2-1.fc30.x86_64 17/102
Verifying : kdepim-addons-19.04.2-1.fc30.x86_64 18/102
Verifying : kdepim-apps-libs-19.04.2-1.fc30.x86_64 19/102
Verifying : kdepim-runtime-1:19.04.2-1.fc30.x86_64 20/102
Verifying : kdepim-runtime-libs-1:19.04.2-1.fc30.x86_64 21/102
Verifying : kf5-akonadi-calendar-19.04.2-1.fc30.x86_64 22/102
Verifying : kf5-akonadi-contacts-19.04.2-1.fc30.x86_64 23/102
Verifying : kf5-akonadi-mime-19.04.2-1.fc30.x86_64 24/102
Verifying : kf5-akonadi-notes-19.04.2-1.fc30.x86_64 25/102
Verifying : kf5-akonadi-search-19.04.2-1.fc30.x86_64 26/102
Verifying : kf5-akonadi-server-19.04.2-2.fc30.x86_64 27/102
Verifying : kf5-akonadi-server-mysql-19.04.2-2.fc30.x86_6 28/102
Verifying : kf5-calendarsupport-19.04.2-1.fc30.x86_64 29/102
Verifying : kf5-eventviews-19.04.2-1.fc30.x86_64 30/102
Verifying : kf5-grantleetheme-19.04.2-1.fc30.x86_64 31/102
Verifying : kf5-incidenceeditor-19.04.2-1.fc30.x86_64 32/102
Verifying : kf5-kalarmcal-19.04.2-1.fc30.x86_64 33/102
Verifying : kf5-kcalendarcore-19.04.2-1.fc30.x86_64 34/102
Verifying : kf5-kcalendarutils-19.04.2-1.fc30.x86_64 35/102
Verifying : kf5-kcontacts-19.04.2-1.fc30.x86_64 36/102
Verifying : kf5-kdav-19.04.2-1.fc30.x86_64 37/102
Verifying : kf5-kidentitymanagement-19.04.2-1.fc30.x86_64 38/102
Verifying : kf5-kimap-19.04.2-1.fc30.x86_64 39/102
Verifying : kf5-kitinerary-19.04.2-1.fc30.x86_64 40/102
Verifying : kf5-kldap-19.04.2-1.fc30.x86_64 41/102
Verifying : kf5-kmailtransport-19.04.2-1.fc30.x86_64 42/102
Verifying : kf5-kmailtransport-akonadi-19.04.2-1.fc30.x86 43/102
Verifying : kf5-kmbox-19.04.2-1.fc30.x86_64 44/102
Verifying : kf5-kmime-19.04.2-1.fc30.x86_64 45/102
Verifying : kf5-kontactinterface-19.04.2-1.fc30.x86_64 46/102
Verifying : kf5-kpimtextedit-19.04.2-2.fc30.x86_64 47/102
Verifying : kf5-kpkpass-19.04.2-1.fc30.x86_64 48/102
Verifying : kf5-ksmtp-19.04.2-1.fc30.x86_64 49/102
Verifying : kf5-ktnef-19.04.2-1.fc30.x86_64 50/102
Verifying : kf5-libgravatar-19.04.2-1.fc30.x86_64 51/102
Verifying : kf5-libkdepim-19.04.2-1.fc30.x86_64 52/102
Verifying : kf5-libkdepim-akonadi-19.04.2-1.fc30.x86_64 53/102
Verifying : kf5-libkleo-19.04.2-1.fc30.x86_64 54/102
Verifying : kf5-libksieve-19.04.2-1.fc30.x86_64 55/102
Verifying : kf5-mailcommon-19.04.2-1.fc30.x86_64 56/102
Verifying : kf5-mailimporter-19.04.2-1.fc30.x86_64 57/102
Verifying : kf5-mailimporter-akonadi-19.04.2-1.fc30.x86_6 58/102
Verifying : kf5-messagelib-19.04.2-1.fc30.x86_64 59/102
Verifying : kf5-pimcommon-19.04.2-1.fc30.x86_64 60/102
Verifying : kf5-pimcommon-akonadi-19.04.2-1.fc30.x86_64 61/102
Verifying : kgpg-18.12.2-1.fc30.x86_64 62/102
Verifying : kmail-19.04.2-2.fc30.x86_64 63/102
Verifying : kmail-account-wizard-19.04.2-1.fc30.x86_64 64/102
Verifying : kmail-libs-19.04.2-2.fc30.x86_64 65/102
Verifying : kontact-19.04.2-1.fc30.x86_64 66/102
Verifying : kontact-libs-19.04.2-1.fc30.x86_64 67/102
Verifying : korganizer-19.04.2-1.fc30.x86_64 68/102
Verifying : korganizer-libs-19.04.2-1.fc30.x86_64 69/102
Verifying : lensfun-0.3.2-19.fc30.x86_64 70/102
Verifying : libdc1394-2.2.2-12.fc30.x86_64 71/102
Verifying : libical-3.0.4-3.fc30.x86_64 72/102
Verifying : libkgapi-19.04.2-1.fc30.x86_64 73/102
Verifying : libkolabxml-1.1.6-10.fc30.x86_64 74/102
Verifying : liblqr-1-0.4.2-12.fc30.x86_64 75/102
Verifying : libpano13-2.9.19-9.fc30.x86_64 76/102
Verifying : libucil-0.9.10-18.fc30.x86_64 77/102
Verifying : libunicap-0.9.12-23.fc30.x86_64 78/102
Verifying : libva-2.4.1-1.fc30.x86_64 79/102
Verifying : mariadb-3:10.3.16-1.fc30.x86_64 80/102
Verifying : mariadb-backup-3:10.3.16-1.fc30.x86_64 81/102
Verifying : mariadb-common-3:10.3.16-1.fc30.x86_64 82/102
Verifying : mariadb-cracklib-password-check-3:10.3.16-1.f 83/102
Verifying : mariadb-errmsg-3:10.3.16-1.fc30.x86_64 84/102
Verifying : mariadb-gssapi-server-3:10.3.16-1.fc30.x86_64 85/102
Verifying : mariadb-server-3:10.3.16-1.fc30.x86_64 86/102
Verifying : mariadb-server-utils-3:10.3.16-1.fc30.x86_64 87/102
Verifying : mesa-libOSMesa-19.1.3-1.fc30.x86_64 88/102
Verifying : netcdf-cxx-4.2-21.fc30.x86_64 89/102
Verifying : opencv-contrib-3.4.4-10.fc30.x86_64 90/102
Verifying : opencv-core-3.4.4-10.fc30.x86_64 91/102
Verifying : openni-1.5.7.10-15.fc30.x86_64 92/102
Verifying : perl-DBD-MySQL-4.050-2.fc30.x86_64 93/102
Verifying : perl-Image-ExifTool-11.50-1.fc30.noarch 94/102
Verifying : pim-data-exporter-19.04.2-1.fc30.x86_64 95/102
Verifying : pim-data-exporter-libs-19.04.2-1.fc30.x86_64 96/102
Verifying : pim-sieve-editor-19.04.2-1.fc30.x86_64 97/102
Verifying : protobuf-3.6.1-3.fc30.x86_64 98/102
Verifying : qt5-qtbase-mysql-5.12.4-4.fc30.x86_64 99/102
Verifying : tinyxml-2.6.2-18.fc30.x86_64 100/102
Verifying : vigra-1.11.1-13.fc30.x86_64 101/102
Verifying : vtk-8.1.1-5.fc30.x86_64 102/102
Removed:
akonadi-import-wizard-19.04.2-1.fc30.x86_64
kf5-akonadi-calendar-19.04.2-1.fc30.x86_64
kf5-akonadi-contacts-19.04.2-1.fc30.x86_64
kf5-akonadi-mime-19.04.2-1.fc30.x86_64
kf5-akonadi-notes-19.04.2-1.fc30.x86_64
kf5-akonadi-search-19.04.2-1.fc30.x86_64
kf5-akonadi-server-19.04.2-2.fc30.x86_64
kf5-akonadi-server-mysql-19.04.2-2.fc30.x86_64
kf5-kmailtransport-akonadi-19.04.2-1.fc30.x86_64
kf5-libkdepim-akonadi-19.04.2-1.fc30.x86_64
kf5-mailimporter-akonadi-19.04.2-1.fc30.x86_64
kf5-pimcommon-akonadi-19.04.2-1.fc30.x86_64
akregator-19.04.2-1.fc30.x86_64
akregator-libs-19.04.2-1.fc30.x86_64
digikam-6.1.0-7.fc30.x86_64
digikam-libs-6.1.0-7.fc30.x86_64
kgpg-18.12.2-1.fc30.x86_64
kontact-19.04.2-1.fc30.x86_64
CharLS-1.0-18.fc30.x86_64
coin-or-Clp-1.16.10-8.fc30.x86_64
coin-or-CoinUtils-2.10.14-3.fc30.x86_64
coin-or-Osi-0.107.8-9.fc30.x86_64
digikam-doc-6.1.0-7.fc30.noarch
enblend-4.2-10.fc29.x86_64
gdcm-2.8.8-4.fc30.x86_64
grantlee-editor-19.04.2-1.fc30.x86_64
grantlee-editor-libs-19.04.2-1.fc30.x86_64
hugin-base-2019.0.0-1.fc30.x86_64
kaddressbook-19.04.2-1.fc30.x86_64
kaddressbook-libs-19.04.2-1.fc30.x86_64
kdepim-addons-19.04.2-1.fc30.x86_64
kdepim-apps-libs-19.04.2-1.fc30.x86_64
kdepim-runtime-1:19.04.2-1.fc30.x86_64
kdepim-runtime-libs-1:19.04.2-1.fc30.x86_64
kf5-calendarsupport-19.04.2-1.fc30.x86_64
kf5-eventviews-19.04.2-1.fc30.x86_64
kf5-grantleetheme-19.04.2-1.fc30.x86_64
kf5-incidenceeditor-19.04.2-1.fc30.x86_64
kf5-kalarmcal-19.04.2-1.fc30.x86_64
kf5-kcalendarcore-19.04.2-1.fc30.x86_64
kf5-kcalendarutils-19.04.2-1.fc30.x86_64
kf5-kcontacts-19.04.2-1.fc30.x86_64
kf5-kdav-19.04.2-1.fc30.x86_64
kf5-kidentitymanagement-19.04.2-1.fc30.x86_64
kf5-kimap-19.04.2-1.fc30.x86_64
kf5-kitinerary-19.04.2-1.fc30.x86_64
kf5-kldap-19.04.2-1.fc30.x86_64
kf5-kmailtransport-19.04.2-1.fc30.x86_64
kf5-kmbox-19.04.2-1.fc30.x86_64
kf5-kmime-19.04.2-1.fc30.x86_64
kf5-kontactinterface-19.04.2-1.fc30.x86_64
kf5-kpimtextedit-19.04.2-2.fc30.x86_64
kf5-kpkpass-19.04.2-1.fc30.x86_64
kf5-ksmtp-19.04.2-1.fc30.x86_64
kf5-ktnef-19.04.2-1.fc30.x86_64
kf5-libgravatar-19.04.2-1.fc30.x86_64
kf5-libkdepim-19.04.2-1.fc30.x86_64
kf5-libkleo-19.04.2-1.fc30.x86_64
kf5-libksieve-19.04.2-1.fc30.x86_64
kf5-mailcommon-19.04.2-1.fc30.x86_64
kf5-mailimporter-19.04.2-1.fc30.x86_64
kf5-messagelib-19.04.2-1.fc30.x86_64
kf5-pimcommon-19.04.2-1.fc30.x86_64
kmail-19.04.2-2.fc30.x86_64
kmail-account-wizard-19.04.2-1.fc30.x86_64
kmail-libs-19.04.2-2.fc30.x86_64
kontact-libs-19.04.2-1.fc30.x86_64
korganizer-19.04.2-1.fc30.x86_64
korganizer-libs-19.04.2-1.fc30.x86_64
lensfun-0.3.2-19.fc30.x86_64
libdc1394-2.2.2-12.fc30.x86_64
libical-3.0.4-3.fc30.x86_64
libkgapi-19.04.2-1.fc30.x86_64
libkolabxml-1.1.6-10.fc30.x86_64
liblqr-1-0.4.2-12.fc30.x86_64
libpano13-2.9.19-9.fc30.x86_64
libucil-0.9.10-18.fc30.x86_64
libunicap-0.9.12-23.fc30.x86_64
libva-2.4.1-1.fc30.x86_64
mariadb-3:10.3.16-1.fc30.x86_64
mariadb-backup-3:10.3.16-1.fc30.x86_64
mariadb-common-3:10.3.16-1.fc30.x86_64
mariadb-cracklib-password-check-3:10.3.16-1.fc30.x86_64
mariadb-errmsg-3:10.3.16-1.fc30.x86_64
mariadb-gssapi-server-3:10.3.16-1.fc30.x86_64
mariadb-server-3:10.3.16-1.fc30.x86_64
mariadb-server-utils-3:10.3.16-1.fc30.x86_64
mesa-libOSMesa-19.1.3-1.fc30.x86_64
netcdf-cxx-4.2-21.fc30.x86_64
opencv-contrib-3.4.4-10.fc30.x86_64
opencv-core-3.4.4-10.fc30.x86_64
openni-1.5.7.10-15.fc30.x86_64
perl-DBD-MySQL-4.050-2.fc30.x86_64
perl-Image-ExifTool-11.50-1.fc30.noarch
pim-data-exporter-19.04.2-1.fc30.x86_64
pim-data-exporter-libs-19.04.2-1.fc30.x86_64
pim-sieve-editor-19.04.2-1.fc30.x86_64
protobuf-3.6.1-3.fc30.x86_64
qt5-qtbase-mysql-5.12.4-4.fc30.x86_64
tinyxml-2.6.2-18.fc30.x86_64
vigra-1.11.1-13.fc30.x86_64
vtk-8.1.1-5.fc30.x86_64
Complete!
After removing those Akonadi packages, I installed the MySQL Community Edition from the Fedora repo with this syntax:
yum install -y community-mysql* |
yum install -y community-mysql*
Display detailed console log →
Last metadata expiration check: 1:03:17 ago on Thu 15 Aug 2019 11:01:30 PM MDT.
Dependencies resolved.
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
community-mysql x86_64 8.0.16-1.fc30 updates 10 M
community-mysql-devel x86_64 8.0.16-1.fc30 updates 89 k
community-mysql-errmsg x86_64 8.0.16-1.fc30 updates 487 k
community-mysql-test x86_64 8.0.16-1.fc30 updates 92 M
Installing dependencies:
community-mysql-common x86_64 8.0.16-1.fc30 updates 86 k
community-mysql-libs x86_64 8.0.16-1.fc30 updates 1.1 M
community-mysql-server x86_64 8.0.16-1.fc30 updates 21 M
openssl-devel x86_64 1:1.1.1c-2.fc30 updates 2.2 M
perl-Memoize noarch 1.03-438.fc30 updates 66 k
perl-Importer noarch 0.025-4.fc30 fedora 40 k
perl-JSON noarch 4.02-1.fc30 fedora 98 k
perl-MIME-Charset noarch 1.012.2-7.fc30 fedora 49 k
perl-Term-Size-Perl x86_64 0.031-4.fc30 fedora 21 k
perl-Term-Table noarch 0.013-2.fc30 fedora 41 k
perl-Test-Simple noarch 2:1.302162-1.fc30 fedora 513 k
protobuf x86_64 3.6.1-3.fc30 fedora 907 k
protobuf-lite x86_64 3.6.1-3.fc30 fedora 149 k
sombok x86_64 2.4.0-9.fc30 fedora 45 k
Installing weak dependencies:
perl-Term-Size-Any noarch 0.002-27.fc30 updates 13 k
perl-Unicode-LineBreak x86_64 2019.001-2.fc30 fedora 120 k
Transaction Summary
=============================================================================
Install 20 Packages
Total download size: 129 M
Installed size: 597 M
Downloading Packages:
(1/20): community-mysql-devel-8.0.16-1.fc30. 96 kB/s | 89 kB 00:00
(2/20): community-mysql-common-8.0.16-1.fc30 90 kB/s | 86 kB 00:00
(3/20): community-mysql-errmsg-8.0.16-1.fc30 391 kB/s | 487 kB 00:01
(4/20): community-mysql-8.0.16-1.fc30.x86_64 4.0 MB/s | 10 MB 00:02
(5/20): community-mysql-libs-8.0.16-1.fc30.x 397 kB/s | 1.1 MB 00:02
(6/20): community-mysql-server-8.0.16-1.fc30 7.1 MB/s | 21 MB 00:02
(7/20): openssl-devel-1.1.1c-2.fc30.x86_64.r 1.6 MB/s | 2.2 MB 00:01
(8/20): perl-Memoize-1.03-438.fc30.noarch.rp 109 kB/s | 66 kB 00:00
(9/20): perl-Term-Size-Any-0.002-27.fc30.noa 34 kB/s | 13 kB 00:00
(10/20): perl-Importer-0.025-4.fc30.noarch.r 75 kB/s | 40 kB 00:00
(11/20): perl-MIME-Charset-1.012.2-7.fc30.no 170 kB/s | 49 kB 00:00
(12/20): perl-JSON-4.02-1.fc30.noarch.rpm 120 kB/s | 98 kB 00:00
(13/20): perl-Term-Size-Perl-0.031-4.fc30.x8 128 kB/s | 21 kB 00:00
(14/20): perl-Term-Table-0.013-2.fc30.noarch 223 kB/s | 41 kB 00:00
(15/20): perl-Unicode-LineBreak-2019.001-2.f 303 kB/s | 120 kB 00:00
(16/20): perl-Test-Simple-1.302162-1.fc30.no 583 kB/s | 513 kB 00:00
(17/20): protobuf-lite-3.6.1-3.fc30.x86_64.r 795 kB/s | 149 kB 00:00
(18/20): sombok-2.4.0-9.fc30.x86_64.rpm 172 kB/s | 45 kB 00:00
(19/20): protobuf-3.6.1-3.fc30.x86_64.rpm 837 kB/s | 907 kB 00:01
(20/20): community-mysql-test-8.0.16-1.fc30. 7.4 MB/s | 92 MB 00:12
-----------------------------------------------------------------------------
Total 8.0 MB/s | 129 MB 00:16
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : community-mysql-common-8.0.16-1.fc30.x86_64 1/20
Installing : community-mysql-8.0.16-1.fc30.x86_64 2/20
Installing : community-mysql-errmsg-8.0.16-1.fc30.x86_64 3/20
Installing : community-mysql-libs-8.0.16-1.fc30.x86_64 4/20
Installing : sombok-2.4.0-9.fc30.x86_64 5/20
Installing : protobuf-lite-3.6.1-3.fc30.x86_64 6/20
Running scriptlet: community-mysql-server-8.0.16-1.fc30.x86_64 7/20
Installing : community-mysql-server-8.0.16-1.fc30.x86_64 7/20
Running scriptlet: community-mysql-server-8.0.16-1.fc30.x86_64 7/20
Installing : protobuf-3.6.1-3.fc30.x86_64 8/20
Installing : perl-Term-Size-Perl-0.031-4.fc30.x86_64 9/20
Installing : perl-Term-Size-Any-0.002-27.fc30.noarch 10/20
Installing : perl-MIME-Charset-1.012.2-7.fc30.noarch 11/20
Installing : perl-Unicode-LineBreak-2019.001-2.fc30.x86_64 12/20
Installing : perl-JSON-4.02-1.fc30.noarch 13/20
Installing : perl-Importer-0.025-4.fc30.noarch 14/20
Installing : perl-Term-Table-0.013-2.fc30.noarch 15/20
Installing : perl-Test-Simple-2:1.302162-1.fc30.noarch 16/20
Installing : perl-Memoize-1.03-438.fc30.noarch 17/20
Installing : openssl-devel-1:1.1.1c-2.fc30.x86_64 18/20
Installing : community-mysql-devel-8.0.16-1.fc30.x86_64 19/20
Installing : community-mysql-test-8.0.16-1.fc30.x86_64 20/20
Running scriptlet: community-mysql-test-8.0.16-1.fc30.x86_64 20/20
Verifying : community-mysql-8.0.16-1.fc30.x86_64 1/20
Verifying : community-mysql-common-8.0.16-1.fc30.x86_64 2/20
Verifying : community-mysql-devel-8.0.16-1.fc30.x86_64 3/20
Verifying : community-mysql-errmsg-8.0.16-1.fc30.x86_64 4/20
Verifying : community-mysql-libs-8.0.16-1.fc30.x86_64 5/20
Verifying : community-mysql-server-8.0.16-1.fc30.x86_64 6/20
Verifying : community-mysql-test-8.0.16-1.fc30.x86_64 7/20
Verifying : openssl-devel-1:1.1.1c-2.fc30.x86_64 8/20
Verifying : perl-Memoize-1.03-438.fc30.noarch 9/20
Verifying : perl-Term-Size-Any-0.002-27.fc30.noarch 10/20
Verifying : perl-Importer-0.025-4.fc30.noarch 11/20
Verifying : perl-JSON-4.02-1.fc30.noarch 12/20
Verifying : perl-MIME-Charset-1.012.2-7.fc30.noarch 13/20
Verifying : perl-Term-Size-Perl-0.031-4.fc30.x86_64 14/20
Verifying : perl-Term-Table-0.013-2.fc30.noarch 15/20
Verifying : perl-Test-Simple-2:1.302162-1.fc30.noarch 16/20
Verifying : perl-Unicode-LineBreak-2019.001-2.fc30.x86_64 17/20
Verifying : protobuf-3.6.1-3.fc30.x86_64 18/20
Verifying : protobuf-lite-3.6.1-3.fc30.x86_64 19/20
Verifying : sombok-2.4.0-9.fc30.x86_64 20/20
Installed:
community-mysql-8.0.16-1.fc30.x86_64
community-mysql-devel-8.0.16-1.fc30.x86_64
community-mysql-errmsg-8.0.16-1.fc30.x86_64
community-mysql-test-8.0.16-1.fc30.x86_64
perl-Term-Size-Any-0.002-27.fc30.noarch
perl-Unicode-LineBreak-2019.001-2.fc30.x86_64
community-mysql-common-8.0.16-1.fc30.x86_64
community-mysql-libs-8.0.16-1.fc30.x86_64
community-mysql-server-8.0.16-1.fc30.x86_64
openssl-devel-1:1.1.1c-2.fc30.x86_64
perl-Memoize-1.03-438.fc30.noarch
perl-Importer-0.025-4.fc30.noarch
perl-JSON-4.02-1.fc30.noarch
perl-MIME-Charset-1.012.2-7.fc30.noarch
perl-Term-Size-Perl-0.031-4.fc30.x86_64
perl-Term-Table-0.013-2.fc30.noarch
perl-Test-Simple-2:1.302162-1.fc30.noarch
protobuf-3.6.1-3.fc30.x86_64
protobuf-lite-3.6.1-3.fc30.x86_64
sombok-2.4.0-9.fc30.x86_64
Complete!
Having installed MySQL Community Edition, I wanted to start the mysql
service
with this command:
sudo service mysqld start |
sudo service mysqld start
Unfortunately, the service
utility wasn’t installed. That surprised me. While I could have run this command:
systemctl start mysqld.service |
systemctl start mysqld.service
A better solution was to install any missing code components. I determined that the service
utility is part of the initscripts
package; and I installed it with the following command:
sudo yum install -y initscripts |
sudo yum install -y initscripts
Display detailed console log →
Fedora Modular 30 - x86_64 30 kB/s | 18 kB 00:00
Fedora Modular 30 - x86_64 - Updates 40 kB/s | 17 kB 00:00
Fedora 30 - x86_64 - Updates 43 kB/s | 17 kB 00:00
Fedora 30 - x86_64 58 kB/s | 19 kB 00:00
google-chrome-unstable 12 kB/s | 1.3 kB 00:00
google-chrome 16 kB/s | 1.3 kB 00:00
Dependencies resolved.
=============================================================================
Package Architecture Version Repository Size
=============================================================================
Installing:
initscripts x86_64 10.02-1.fc30 updates 202 k
Transaction Summary
=============================================================================
Install 1 Package
Total download size: 202 k
Installed size: 1.1 M
Downloading Packages:
initscripts-10.02-1.fc30.x86_64.rpm 296 kB/s | 202 kB 00:00
-----------------------------------------------------------------------------
Total 162 kB/s | 202 kB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : initscripts-10.02-1.fc30.x86_64 1/1
Running scriptlet: initscripts-10.02-1.fc30.x86_64 1/1
Verifying : initscripts-10.02-1.fc30.x86_64 1/1
Installed:
initscripts-10.02-1.fc30.x86_64
Complete! |
Fedora Modular 30 - x86_64 30 kB/s | 18 kB 00:00
Fedora Modular 30 - x86_64 - Updates 40 kB/s | 17 kB 00:00
Fedora 30 - x86_64 - Updates 43 kB/s | 17 kB 00:00
Fedora 30 - x86_64 58 kB/s | 19 kB 00:00
google-chrome-unstable 12 kB/s | 1.3 kB 00:00
google-chrome 16 kB/s | 1.3 kB 00:00
Dependencies resolved.
=============================================================================
Package Architecture Version Repository Size
=============================================================================
Installing:
initscripts x86_64 10.02-1.fc30 updates 202 k
Transaction Summary
=============================================================================
Install 1 Package
Total download size: 202 k
Installed size: 1.1 M
Downloading Packages:
initscripts-10.02-1.fc30.x86_64.rpm 296 kB/s | 202 kB 00:00
-----------------------------------------------------------------------------
Total 162 kB/s | 202 kB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : initscripts-10.02-1.fc30.x86_64 1/1
Running scriptlet: initscripts-10.02-1.fc30.x86_64 1/1
Verifying : initscripts-10.02-1.fc30.x86_64 1/1
Installed:
initscripts-10.02-1.fc30.x86_64
Complete!
Then, I ran the mysql_secure_installation script to secure the installation:
mysql_secure_installation |
mysql_secure_installation
The script set the root
user’s password, remove the anonymous user, disallow remote root
login, and remove the test databases. Then, I verified connecting to the MySQL database with the following syntax:
I enabled the MySQL Service to start with each reboot of the Fedora instance. I used the following command:
systemctl enable mysqld.service |
systemctl enable mysqld.service
It creates the following link:
ln -s '/etc/systemd/system/multi-user.target.wants/mysqld.service' '/usr/lib/systemd/system/mysqld.service' |
ln -s '/etc/systemd/system/multi-user.target.wants/mysqld.service' '/usr/lib/systemd/system/mysqld.service'
The next step requires setting up a sample studentdb
database. The syntax has changed from prior releases. Here are the three steps:
- Create the
studentdb
database with the following command as the MySQL root
user:
mysql> CREATE DATABASE studentdb; |
mysql> CREATE DATABASE studentdb;
- Grant the
root
user the privilege to grant to others, which root does not have by default. You use the following syntax as the MySQL root
user:
mysql> GRANT ALL ON *.* TO 'root'@'localhost'; |
mysql> GRANT ALL ON *.* TO 'root'@'localhost';
- Create the user with a clear English password and grant the user
student
full privileges on the studentdb
database:
mysql> CREATE USER 'student'@'localhost' IDENTIFIED WITH mysql_native_password BY 'student';
mysql> GRANT ALL ON studentdb.* TO 'student'@'localhost'; |
mysql> CREATE USER 'student'@'localhost' IDENTIFIED WITH mysql_native_password BY 'student';
mysql> GRANT ALL ON studentdb.* TO 'student'@'localhost';
If you fail to specify mysql_native_password
when creating the user and use the older syntax like the following example:
mysql> CREATE USER 'student'@'localhost' IDENTIFIED BY 'student';
mysql> GRANT ALL ON studentdb.* TO 'student'@'localhost'; |
mysql> CREATE USER 'student'@'localhost' IDENTIFIED BY 'student';
mysql> GRANT ALL ON studentdb.* TO 'student'@'localhost';
The GRANT
command will raise the following error:
ERROR 1410 (42000): You are not allowed to create a user with GRANT |
ERROR 1410 (42000): You are not allowed to create a user with GRANT
While updating my class image to Fedora 27, I noticed that it installed the Akonadi Server. The documentation on the Akonadi server lacked some straightforward documentation. It also offered a bundled set of software that limited how to approach MySQL development.
So, I removed all those packages with the following syntax:
dnf remove `rpm -qa | grep akonadi` |
dnf remove `rpm -qa | grep akonadi`
After removing those Akonadi packages, I installed the MySQL Community Edition from the Fedora repo with this syntax:
yum install -y community-mysql* |
yum install -y community-mysql*
Having installed MySQL Community Edition, I started the service with this command:
Then, I ran the mysql_secure_installation script to secure the installation:
mysql_secure_installation |
mysql_secure_installation
The script set the root
user’s password, remove the anonymous user, disallow remote root
login, and remove the test databases. Then, I verified connecting to the MySQL database with the following syntax:
I enabled the MySQL Service to start with each reboot of the Fedora instance. I used the following command:
systemctl enable mysqld.service |
systemctl enable mysqld.service
It creates the following link:
ln -s '/etc/systemd/system/multi-user.target.wants/mysqld.service' '/usr/lib/systemd/system/mysqld.service' |
ln -s '/etc/systemd/system/multi-user.target.wants/mysqld.service' '/usr/lib/systemd/system/mysqld.service'
Now, I need to install and configure Apache, PHP, and upgrade Oracle Database 11g XE’s APEX 4 to 5.