My Experiences with Databases

Oracle,MySQL,SQL SERVER,Python,Azure,AWS,Oracle Cloud,GCP Etc

  • Enter your email address to follow this blog and receive notifications of new posts by email.

  • Total Views

    • 315,905 hits
  • $riram $anka


    The experiences, Test cases, views, and opinions etc expressed in this website are my own and does not reflect the views or opinions of my employer. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content.Product and company names mentioned in this website may be the trademarks of their respective owners.

Posts Tagged ‘Linux’

Upgrade MySQL Server from 5.7 to 8 CentOS 7 Linux

Posted by Sriram Sanka on October 2, 2022


Quote from Mysql Website Upgrade Paths

  • Upgrade from MySQL 5.7 to 8.0 is supported. However, upgrade is only supported between General Availability (GA) releases. For MySQL 8.0, it is required that you upgrade from a MySQL 5.7 GA release (5.7.9 or higher). Upgrades from non-GA releases of MySQL 5.7 are not supported.
  • Upgrading to the latest release is recommended before upgrading to the next version. For example, upgrade to the latest MySQL 5.7 release before upgrading to MySQL 8.0.
  • Upgrade that skips versions is not supported. For example, upgrading directly from MySQL 5.6 to 8.0 is not supported.
  • Once a release series reaches General Availability (GA) status, upgrade within the release series (from one GA version to another GA version) is supported. For example, upgrading from MySQL 8.0.x to 8.0.y is supported. (Upgrade involving development-status non-GA releases is not supported.) Skipping a release is also supported. For example, upgrading from MySQL 8.0.x to 8.0.z is supported. MySQL 8.0.11 is the first GA status release within the MySQL 8.0 release series.

Reference: https://dev.mysql.com/doc/refman/8.0/en/upgrade-paths.html

Download the Required RPM and place them in the Server.

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar

Take the Backup of all the Databases and stop the MySQL Service.

Run the Following from Local Directory using yum localinstall mysql-community-{server,client,common,libs}-*

yum localinstall mysql-community-{server,client,common,libs}-*
[root@localhost mysql_binaries]# yum localinstall mysql-community-{server,client,common,libs}-*
Loaded plugins: fastestmirror, langpacks
Examining mysql-community-server-8.0.30-1.el7.x86_64.rpm: mysql-community-server-8.0.30-1.el7.x86_64
Marking mysql-community-server-8.0.30-1.el7.x86_64.rpm as an update to mysql-community-server-5.7.9-1.el7.x86_64
Examining mysql-community-server-debug-8.0.30-1.el7.x86_64.rpm: mysql-community-server-debug-8.0.30-1.el7.x86_64
Marking mysql-community-server-debug-8.0.30-1.el7.x86_64.rpm to be installed
Examining mysql-community-client-8.0.30-1.el7.x86_64.rpm: mysql-community-client-8.0.30-1.el7.x86_64
Marking mysql-community-client-8.0.30-1.el7.x86_64.rpm as an update to mysql-community-client-5.7.9-1.el7.x86_64
Examining mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm: mysql-community-client-plugins-8.0.30-1.el7.x86_64
Marking mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm to be installed
Examining mysql-community-common-8.0.30-1.el7.x86_64.rpm: mysql-community-common-8.0.30-1.el7.x86_64
Marking mysql-community-common-8.0.30-1.el7.x86_64.rpm as an update to mysql-community-common-5.7.9-1.el7.x86_64
Examining mysql-community-libs-8.0.30-1.el7.x86_64.rpm: mysql-community-libs-8.0.30-1.el7.x86_64
Marking mysql-community-libs-8.0.30-1.el7.x86_64.rpm as an update to mysql-community-libs-5.7.9-1.el7.x86_64
Examining mysql-community-libs-compat-8.0.30-1.el7.x86_64.rpm: mysql-community-libs-compat-8.0.30-1.el7.x86_64
Marking mysql-community-libs-compat-8.0.30-1.el7.x86_64.rpm as an update to mysql-community-libs-compat-5.7.9-1.el7.x86_64
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-client.x86_64 0:5.7.9-1.el7 will be updated
---> Package mysql-community-client.x86_64 0:8.0.30-1.el7 will be an update
---> Package mysql-community-client-plugins.x86_64 0:8.0.30-1.el7 will be installed
---> Package mysql-community-common.x86_64 0:5.7.9-1.el7 will be updated
---> Package mysql-community-common.x86_64 0:8.0.30-1.el7 will be an update
---> Package mysql-community-libs.x86_64 0:5.7.9-1.el7 will be updated
---> Package mysql-community-libs.x86_64 0:8.0.30-1.el7 will be an update
---> Package mysql-community-libs-compat.x86_64 0:5.7.9-1.el7 will be updated
---> Package mysql-community-libs-compat.x86_64 0:8.0.30-1.el7 will be an update
---> Package mysql-community-server.x86_64 0:5.7.9-1.el7 will be updated
---> Package mysql-community-server.x86_64 0:8.0.30-1.el7 will be an update
---> Package mysql-community-server-debug.x86_64 0:8.0.30-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                                       Arch                                  Version                                        Repository                                                                          Size
=============================================================================================================================================================================================================================================
Installing:
 mysql-community-client-plugins                                x86_64                                8.0.30-1.el7                                   /mysql-community-client-plugins-8.0.30-1.el7.x86_64                                 14 M
 mysql-community-server-debug                                  x86_64                                8.0.30-1.el7                                   /mysql-community-server-debug-8.0.30-1.el7.x86_64                                  115 M
Updating:
 mysql-community-client                                        x86_64                                8.0.30-1.el7                                   /mysql-community-client-8.0.30-1.el7.x86_64                                         71 M
 mysql-community-common                                        x86_64                                8.0.30-1.el7                                   /mysql-community-common-8.0.30-1.el7.x86_64                                        9.9 M
 mysql-community-libs                                          x86_64                                8.0.30-1.el7                                   /mysql-community-libs-8.0.30-1.el7.x86_64                                          7.6 M
 mysql-community-libs-compat                                   x86_64                                8.0.30-1.el7                                   /mysql-community-libs-compat-8.0.30-1.el7.x86_64                                   3.7 M
 mysql-community-server                                        x86_64                                8.0.30-1.el7                                   /mysql-community-server-8.0.30-1.el7.x86_64                                        241 M

Transaction Summary
=============================================================================================================================================================================================================================================
Install  2 Packages
Upgrade  5 Packages

Total size: 462 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : mysql-community-client-plugins-8.0.30-1.el7.x86_64                                                                                                                                                                       1/12
  Updating   : mysql-community-common-8.0.30-1.el7.x86_64                                                                                                                                                                               2/12
  Updating   : mysql-community-libs-8.0.30-1.el7.x86_64                                                                                                                                                                                 3/12
  Updating   : mysql-community-client-8.0.30-1.el7.x86_64                                                                                                                                                                               4/12
  Updating   : mysql-community-server-8.0.30-1.el7.x86_64                                                                                                                                                                               5/12
  Installing : mysql-community-server-debug-8.0.30-1.el7.x86_64                                                                                                                                                                         6/12
  Updating   : mysql-community-libs-compat-8.0.30-1.el7.x86_64                                                                                                                                                                          7/12
  Cleanup    : mysql-community-server-5.7.9-1.el7.x86_64                                                                                                                                                                                8/12
  Cleanup    : mysql-community-client-5.7.9-1.el7.x86_64                                                                                                                                                                                9/12
  Cleanup    : mysql-community-libs-compat-5.7.9-1.el7.x86_64                                                                                                                                                                          10/12
  Cleanup    : mysql-community-libs-5.7.9-1.el7.x86_64                                                                                                                                                                                 11/12
  Cleanup    : mysql-community-common-5.7.9-1.el7.x86_64                                                                                                                                                                               12/12
  Verifying  : mysql-community-common-8.0.30-1.el7.x86_64                                                                                                                                                                               1/12
  Verifying  : mysql-community-client-plugins-8.0.30-1.el7.x86_64                                                                                                                                                                       2/12
  Verifying  : mysql-community-libs-8.0.30-1.el7.x86_64                                                                                                                                                                                 3/12
  Verifying  : mysql-community-client-8.0.30-1.el7.x86_64                                                                                                                                                                               4/12
  Verifying  : mysql-community-libs-compat-8.0.30-1.el7.x86_64                                                                                                                                                                          5/12
  Verifying  : mysql-community-server-8.0.30-1.el7.x86_64                                                                                                                                                                               6/12
  Verifying  : mysql-community-server-debug-8.0.30-1.el7.x86_64                                                                                                                                                                         7/12
  Verifying  : mysql-community-client-5.7.9-1.el7.x86_64                                                                                                                                                                                8/12
  Verifying  : mysql-community-libs-5.7.9-1.el7.x86_64                                                                                                                                                                                  9/12
  Verifying  : mysql-community-server-5.7.9-1.el7.x86_64                                                                                                                                                                               10/12
  Verifying  : mysql-community-common-5.7.9-1.el7.x86_64                                                                                                                                                                               11/12
  Verifying  : mysql-community-libs-compat-5.7.9-1.el7.x86_64                                                                                                                                                                          12/12

Installed:
  mysql-community-client-plugins.x86_64 0:8.0.30-1.el7                                                                   mysql-community-server-debug.x86_64 0:8.0.30-1.el7

Updated:
  mysql-community-client.x86_64 0:8.0.30-1.el7  mysql-community-common.x86_64 0:8.0.30-1.el7  mysql-community-libs.x86_64 0:8.0.30-1.el7  mysql-community-libs-compat.x86_64 0:8.0.30-1.el7  mysql-community-server.x86_64 0:8.0.30-1.el7

Complete!

This completes the Upgrade from 5.7 to 8.0(Or Latest) Start the Service again and verify.

[root@localhost mysql_binaries]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
[root@localhost mysql_binaries]# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-10-02 03:54:08 EDT; 4s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 21468 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 21502 (mysqld)
   Status: "Server is operational"
    Tasks: 39
   CGroup: /system.slice/mysqld.service
           └─21502 /usr/sbin/mysqld

Oct 02 03:53:16 localhost.localdomain systemd[1]: Starting MySQL Server...
Oct 02 03:54:08 localhost.localdomain systemd[1]: Started MySQL Server.
Note You can also use rpm -Uvh *.rpm to upgrade the Version.

Connect to the Database and verify if there are any errors.

[root@localhost mysql_binaries]# mysql -uroot -p************
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.30 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sriram             |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> use sriram;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+------------------+
| Tables_in_sriram |
+------------------+
| sriram_table     |
+------------------+
1 row in set (0.01 sec)

mysql> select * from sriram_table;
+------+---------+
| id   | name    |
+------+---------+
|    1 | Sriram  |
|    2 | Sriram2 |
|    3 | Sriram3 |
+------+---------+
3 rows in set (0.00 sec)

mysql> show variables like '%version%';
+--------------------------+------------------------------+
| Variable_name            | Value                        |
+--------------------------+------------------------------+
| admin_tls_version        | TLSv1.2                      |
| immediate_server_version | 999999                       |
| innodb_version           | 8.0.30                       |
| original_server_version  | 999999                       |
| protocol_version         | 10                           |
| replica_type_conversions |                              |
| slave_type_conversions   |                              |
| tls_version              | TLSv1.2                      |
| version                  | 8.0.30                       |
| version_comment          | MySQL Community Server - GPL |
| version_compile_machine  | x86_64                       |
| version_compile_os       | Linux                        |
| version_compile_zlib     | 1.2.12                       |
+--------------------------+------------------------------+
13 rows in set (0.00 sec)

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.30    |
+-----------+
1 row in set (0.00 sec)

mysql>

Since Mysql_upgrade is deprecated and unneeded in Version 8.0.16 and later, you can run mysql_check if needed.

[root@localhost mysql_binaries]# mysql_upgrade -uroot -p
The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.
To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.
The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the --upgrade=NONE option with the MySQL binary. The option --upgrade=FORCE is also provided to run the server upgrade sequence on demand.
It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the --upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem.

Option 2: Follow the Below steps to Complete the Upgrade Steps

Take a backup of all the Databases & Parameter /Variable Values assigned.

Stop the Service.

Remove the Installed Old Version RPM by running rpm -qa mysql* and rpm -e <RPM_LIST>

Install the Latest Version

Restore the Backup from above

Add and Apply variable as before as supported

Conclusion : We have successfully completed the MySQL Community Server Version Upgrade on a standalone Server from 5.7 to 8.0.30

Posted in Installation, Linux, MySql, Upgrade, Upgrade 5.7 to 8 | Tagged: , , , , , | Leave a Comment »

Install & Configure SSL for Apache-Nginx using Lets Encrypt-CertBot.

Posted by Sriram Sanka on September 28, 2022


One can Install Apache and Nginx using YUM Or DNF in the Selected Unix flavor whereas by default it is a non-secure sub-domain when you access.

Lets encrypt offers free SSL which can be configured to get the SSL for your domain irrespective of Private Or Public Domains. In case of Private Domains , you just need to add a text Entry to Pass the Validations.

For this I am using Oracle Cloud Instance(Always Free).

Change the Host Name using hostnamectl as below

[root@certbot ~]# hostnamectl set-hostname certbot.ramoradba.com
[root@certbot ~]# hostname

As its the Initial Login after Instance provision , run the yum update and Install Apache and/or Nginx as per your choice.

Run Yum Update and make sure everything updated without any issues.

Install Apache-httpd using yum repo.

Try Access the IP/Hostname to see the Installed Apache Default Page.

Install Nginx using Yum

Try to Access Nginx from the Browser

Enable EPEL Repo to Configure Snap and Certbot

Enable the Socket and run the below to Install certbot ,

systemctl enable --now snapd.socket
ln -s /var/lib/snapd/snap /snap
snap install certbot --classic

Restart your session to get the Certbot ,You can Configure SSL for Nginx Or Apache as below, Add an Entry in you domain controller for your IP matching with the Host Name Configured.

Adding Domain Entry for the HostName

You can Either Configure SSL and Install Or Choose the certonly Option to Get the Certificates only, you can configure your SSL.conf as per your webserver configuration
Also In case , your System is not internet facing, You can choose the Preferred Challenges as either http or DNS You can review the Supported Challenged here https://letsencrypt.org/docs/challenge-types/

certbot --nginx -d <subdomain>.ramoradba.com
certbot --apache -d <subdomain>.ramoradba.com

Make Sure you have a Virtual_Host entry available with the domain you chose., Otherwise it will fail.

<VirtualHost *:80>
    ServerName certbot.ramoradba.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
certbot --apache -d certbot.ramoradba.com

Reload your browser session to see the Installed Certificate .

Apache with SSL Configured

Thanks for your visit, Hope you like it.

Posted in Apache, Installation, Linux, Nginx, Security, ssl | Tagged: , , , , , , | Leave a Comment »

 
Tales From A Lazy Fat DBA

Its all about Databases & their performance, troubleshooting & much more .... ¯\_(ツ)_/¯

Thinking Out Loud

Michael T. Dinh, Oracle DBA

Notes On Oracle

by Mehmet Eser

Oracle Diagnostician

Performance troubleshooting as exact science

deveshdba

get sum oracle stuffs

Data Warehousing with Oracle

Dani Schnider's Blog

ORASteps

Oracle DBA's Daily Work

DBAspaceblog.com

Welcome everyone!! The idea of this blog is to help the DBA in their daily tasks. Enjoy.

Anand's Data Stories

Learn. Share. Repeat.

Tanel Poder's blog: Core IT for geeks and pros

Oracle Performance Tuning, Troubleshooting, Internals

Yet Another OCM

Journey as an Oracle Certified Master

DBAtricksWorld.com

Sharing Knowledge is ultimate key to Gaining knowledge...

Neil Chandler's DB Blog

A resource for Database Professionals

DBA Kevlar

Tips, tricks, (and maybe a few rants) so more DBA's become bulletproof!

OraExpert Academy

Consulting and Training

%d bloggers like this: