Skip to content

Commit 6016525

Browse files
committed
PS-10109 [DOCS] - Review and update apt-repo 8.4
modified: docs/apt-pinning.md modified: docs/apt-repo.md
1 parent 212f6eb commit 6016525

File tree

6 files changed

+26998
-46
lines changed

6 files changed

+26998
-46
lines changed

docs/apt-download-deb.md

Lines changed: 26693 additions & 5 deletions
Large diffs are not rendered by default.

docs/apt-pinning.md

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,44 @@
11
# Apt pinning the Percona Server for MySQL {{vers}} packages
22

3-
Pinning allows you to stay on a release and get packages from a different version. In some cases, you can pin selected packages and avoid accidentally upgrading all the packages.
3+
Apt pinning helps you control which version of a package is installed from different repositories. This is useful when you want to stay on a specific release such as Percona Server for MySQL 8.4 and avoid automatic upgrades from other sources.
44

5-
The pinning takes place in the `preference` file. To pin a package, set the `Pin-Priority` to higher numbers.
6-
7-
Make a new file `/etc/apt/preferences.d/00percona.pref`. For example, add the following to the `preference` file:
5+
To pin the Percona Server for MySQL 8.4 packages, follow these steps:
6+
{.power-number}
87

9-
```text
10-
Package:
11-
Pin: release o=Percona Development Team
12-
Pin-Priority: 1001
13-
```
8+
1. Create a preferences file in `/etc/apt/preferences.d/` named `00percona.pref`:
149

15-
For more information about the pinning, you can check the official [debian wiki](https://wiki.debian.org/AptConfiguration?action=show&redirect=AptPreferences).
10+
```{.bash data-prompt="$"}
11+
$ sudo nano /etc/apt/preferences.d/00percona.pref
12+
```
13+
14+
2. Add the pinning configuration content to the file:
15+
16+
```ini
17+
Package: percona-server-server
18+
Pin: release o=Percona Development Team,a=stable
19+
Pin-Priority: 1001
20+
```
21+
22+
* The `Package` field specifies the exact name of the package.
23+
* The `Pin` field identifies the origin of the package, which is the Percona repository.
24+
* The `Pin-Priority` field sets the priority level. A value above 1000 ensures this version is preferred over others.
25+
26+
Save and close the file.
27+
28+
3. Update package lists to refresh your package sources:
29+
30+
```{.bash data-prompt="$"}
31+
$ sudo apt update
32+
```
33+
34+
4. Install Percona Server for MySQL 8.4 using the following command:
35+
36+
```{.bash data-prompt="$"}
37+
$ sudo apt install percona-server-server
38+
```
39+
40+
Your system prioritizes the version from the Percona repository according to your pinning settings.
41+
42+
## Learn more
43+
44+
For additional details, visit the [debian wiki](https://wiki.debian.org/AptConfiguration?action=show&redirect=AptPreferences).

docs/apt-repo.md

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,59 @@
1-
# Use an APT repository to install Percona Server for MySQL {{vers}}
1+
# Install Percona Server for MySQL {{vers}} Using APT on Debian/Ubuntu
22

3-
Ready-to-use packages are available from the Percona Server for MySQL software
4-
repositories and the [Percona downloads] page.
3+
Percona provides ready-to-use packages for Percona Server for MySQL 8.4 through its APT repositories, offering seamless updates and dependency resolution for Debian-based systems.
54

6-
Specific information on the supported platforms, products, and versions is described in [Percona Software and Platform Lifecycle](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql).
5+
If you need help with installation or configuration, [Percona Support](https://www.percona.com/services/support) is available to assist you.
6+
7+
Specific information on the supported platforms, products, and versions are available in [Percona Software and Platform Lifecycle](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql).
8+
9+
Percona packages and Docker images collect anonymous telemetry data to improve product quality. For details on what is collected and how to opt out, see [Telemetry in Percona Server for MySQL].
710

8-
We gather [Telemetry data] in the Percona packages and Docker images.
911

10-
--8<--- "get-help-snip.md"
1112

1213
## ARM support
1314

14-
The DEB builds for Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04, DEBIAN 11, and DEBIAN 12 contain ARM packages with the `aarch64.rpm` extension. This means that Percona Server for MySQL is available for users on ARM-based systems.
15+
Percona Server for MySQL 8.4 includes native support for the ARM64 (aarch64) architecture in its DEB packages. These packages are available for Ubuntu starting with version 20.04 and for Debian starting with version 11.
16+
1517

1618
## Install Percona Server for MySQL using APT
1719

1820
To install Percona Server for MySQL using APT, do the following steps:
1921
{.power-number}
2022

21-
1. Update the package repositories:
23+
1. Update the package index and install `curl`:
2224

2325
```{.bash data-prompt="$"}
24-
$ sudo apt update
26+
$ sudo apt update && sudo apt install curl
2527
```
2628

27-
2. Install the `curl` download utility if needed:
28-
29-
```{.bash data-prompt="$"}
30-
$ sudo apt install curl
31-
```
32-
33-
3. Download the `percona-release` repository package:
29+
2. Download the `percona-release` repository package:
3430

3531
```{.bash data-prompt="$"}
3632
$ curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb
3733
```
3834

39-
4. Install the downloaded package with `apt` as root or with sudo:
35+
3. Install the package with `apt` as root or with sudo:
4036

4137
```{.bash data-prompt="$"}
4238
$ sudo apt install gnupg2 lsb-release ./percona-release_latest.generic_all.deb
4339
```
4440

45-
46-
5. Refresh the local cache to update the package information:
41+
4. Refresh the package index:
4742

4843
```{.bash data-prompt="$"}
4944
$ sudo apt update
5045
```
5146

52-
6. Use `percona-release` to set up the repository for the Percona Server for MySQL {{vers}} version:
47+
5. Enable the Percona Server for MySQL {{vers}} repository:
5348

5449
```{.bash data-prompt="$"}
5550
$ sudo percona-release enable-only {{pkg}} release
5651
$ sudo percona-release enable tools release
5752
```
5853

59-
7. You can check the repository setup for the Percona original release list in `/etc/apt/sources.list.d/percona-original-release.list`.
54+
6. [Optional] You can check the repository setup for the Percona original release list in ```cat /etc/apt/sources.list.d/percona-original-release.list```.
6055

61-
8. Install the server package with the `percona-release` command:
56+
8. Install the server:
6257

6358
```{.bash data-prompt="$"}
6459
$ sudo apt install percona-server-server
@@ -68,7 +63,7 @@ See [Configuring Percona repositories with `percona-release`](https://docs.perco
6863

6964
--8<--- "storage-engines.md"
7065

71-
Percona Server for MySQL includes user-defined functions (UDFs) from [Percona Toolkit](https://docs.percona.com/percona-toolkit/). These UDFs, `fnv_64`, `fnv1a_64`, `murmur_hash`, offer faster checksum calculations compared to standard methods. For detailed information about these user-defined functions, see [Percona Toolkit UDF functions](udf-percona-toolkit.md).
66+
Percona Server for MySQL includes user-defined functions (UDFs) from [Percona Toolkit](https://docs.percona.com/percona-toolkit/) for faster checksum calculations. Learn more in [Percona Toolkit UDF functions](udf-percona-toolkit.md).
7267

7368
Once the installation completes, execute the following command to install these functions:
7469

@@ -89,4 +84,4 @@ These builds should not be run in production. This build may not contain all of
8984

9085
[Percona downloads]: https://www.percona.com/downloads/Percona-Server-{{vers}}/
9186

92-
[Telemetry data]: telemetry.md
87+
[Telemetry in Percona Server for MySQL]: telemetry.md

docs/installation-methods.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Installation methods
2+
3+
This guide outlines the primary methods for installing Percona Server for MySQL, comparing their advantages and use cases to help you choose the right approach for your environment.
4+
5+
## APT/YUM or DNF (package managers)
6+
7+
* [Install with APT](apt-repo.md)
8+
9+
* [Install with YUM/DNF](yum-repo.md)
10+
11+
This is the standard and recommended method for most users on a supported Linux distribution. This method uses the Percona release tool with a package manager to handle the installation from a pre-configured repository. The package manager automatically resolves and installs all required dependencies.
12+
13+
* Common Use Cases:
14+
15+
* Production servers where stability and easy maintenance are critical.
16+
17+
* Automated deployments and provisioning.
18+
19+
* Users who want a simple, clean, and reliable installation process.
20+
21+
* Pros:
22+
23+
* Dependency Management: All dependencies are handled automatically.
24+
25+
* Easy Updates: Upgrading to new versions or applying security patches is a single command.
26+
27+
* Reliability: Packages are tested for the specific operating system and architecture.
28+
29+
* Clean Uninstallation: Removes all files without leaving orphaned data.
30+
31+
* Cons:
32+
33+
* Version Availability: You are limited to the versions available in the repository.
34+
35+
### Manual Package Installation (.deb/.rpm)
36+
37+
* [Download and install with APT packages](/docs/apt-download-deb.md)
38+
39+
* [Download and install with RPM packages](yum-download-rpm.md)
40+
41+
This method is a hybrid approach, offering more control than a repository but still leveraging the package manager for the final installation. It's used when you have the package file but don't want to use an online repository. You download a specific package file (for example, a .deb or .rpm) directly from the Percona website. You then install the package file using a local command-line tool like apt or dnf, which processes the file.
42+
43+
* Common Use Cases:
44+
45+
* Installing on a system with no internet access to the public repositories.
46+
47+
* Deploying a specific point release for testing or compatibility.
48+
49+
* Troubleshooting when repository access is an issue.
50+
51+
* Pros:
52+
53+
* Precise Version Control: You get exactly the version of the package you download.
54+
55+
* No Repository Required: The server doesn't need to access an online repository.
56+
57+
* Uses Package Manager: The package file can still manage dependencies and is easy to remove.
58+
59+
* Cons:
60+
61+
* Manual Dependencies: You must manually download and install any required dependency packages first.
62+
63+
* Manual Updates: You have to manually download and install new versions.
64+
65+
* No Automatic Security Patches: You are responsible for monitoring and installing security updates.
66+
67+
### Tar Files
68+
69+
* [Download and install .tar file](binary-tarball-install.md)
70+
71+
This method gives you more control than a package manager but still provides a pre-compiled binary that does not require compilation. You download a compressed tarball (.tar.gz) containing the pre-compiled binaries directly from the Percona website. You then extract the files to a directory of your choice and manually configure the environment.
72+
73+
* Common Use Cases:
74+
75+
* Installing on unsupported Linux distributions or non-standard environments.
76+
77+
* Testing a specific version that isn't yet available in a repository.
78+
79+
* Installing for Local development.
80+
81+
* Pros:
82+
83+
* Flexibility: Provides the latest versions directly from the source.
84+
85+
* Portability: The installation is often self-contained within a directory.
86+
87+
* Control: You decide exactly where to install the files.
88+
89+
* Cons:
90+
91+
* Manual Dependencies: You are responsible for manually installing any required libraries.
92+
93+
* Manual Maintenance: Updating to a new version requires you to download, extract, and re-link the new files.
94+
95+
## Compile from source
96+
97+
* [Compile from source](compile-percona-server.md)
98+
99+
This is the most hands-on method, offering the highest level of customization and control over the final installation. You download the raw source code, use a C++ compiler and other tools to build the software on your local machine, and then install the resulting binaries. This method requires a comprehensive build environment.
100+
101+
* Common Use Cases:
102+
103+
* Building for an unsupported architecture.
104+
105+
* Debugging or modifying the server's code.
106+
107+
* Optimizing the server for a specific hardware configuration.
108+
109+
* Pros:
110+
111+
* Ultimate Control: You can customize every aspect of the build, including which features to enable or disable.
112+
113+
* Platform Flexibility: Can be compiled and run on virtually any system that has the required build tools.
114+
115+
* Cons:
116+
117+
* Complex Dependencies: Requires you to manually manage all build-time dependencies, which can be extensive.
118+
119+
* Time-Consuming: The compilation process can take a significant amount of time.
120+
121+
* Difficult Maintenance: Updating or uninstalling requires manual, complex steps.

docs/manual-package-install.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Install Percona Server for MySQL from a Local Package File
2+
3+
You can install Percona Server for MySQL without using an online repository. This method uses a package file that you download directly from the Percona website and then install locally with your system’s package manager.
4+
5+
## Why install from a local package file
6+
7+
Installing from a local file provides control over the exact package version. This method works well in environments without internet access or when administrators prefer to manage package distribution internally.
8+
9+
This method is commonly used when you need:
10+
11+
* A specific version that is not available in the standard repositories
12+
13+
* Installation in offline/air-gapped environments
14+
15+
* Direct control over package sources for security or compliance reasons
16+
17+
* Installation before the package is available through normal repository channels
18+
19+
## Steps to install
20+
21+
1. Download the package file
22+
23+
Go to [Percona Software Downloads](https://www.percona.com/downloads/). Select the desired version of Percona Server for MySQL. Choose the package format that matches your operating system:
24+
25+
* `.deb` for Debian-based distributions, such as Ubuntu
26+
27+
* `.rpm` for Red Hat-based distributions, such as CentOS, AlmaLinux, or Rocky Linux
28+
29+
Save the file to a directory on your local system.
30+
31+
An example for a Debian 12 ARM64 system:
32+
33+
```{.bash data-prompt="$"}
34+
$ wget https://downloads.percona.com/downloads/Percona-Server-8.4/Percona-Server-{{release}}/binary/debian/bookworm/aarch64/percona-server-server_{{release}}-1.bookworm_arm64.deb
35+
```
36+
37+
An example for Red Hat Enterprise Linux (RHEL) ARM64 system:
38+
39+
```{.bash data-prompt="$"}
40+
$ wget https://downloads.percona.com/downloads/Percona-Server-8.4/Percona-Server-{{release}}/binary/redhat/9/aarch64/percona-server-server-{{release}}.1.el9.aarch64.rpm
41+
```
42+
43+
2. Install the package file
44+
45+
Use your system’s package manager to process the local file.
46+
47+
For Debian-based systems:
48+
49+
```{.bash data-prompt="$"}
50+
$ sudo apt install ./percona-server-server_{{release}}-1.bookworm_aarch64.deb
51+
```
52+
53+
For Red Hat Enterprise Linux-based systems:
54+
55+
```{.bash data-prompt="$"}
56+
$ sudo dnf install percona-server-server-{{release}}-1.el9.aarch64.rpm
57+
```
58+
59+
The package manager verifies dependencies and installs the software from the local file.
60+
61+
## Troubleshooting missing dependencies
62+
63+
If the package manager reports missing dependencies:
64+
65+
* Review the error message to identify the missing packages.
66+
67+
* Download the missing packages from a trusted source.
68+
69+
* Install the missing packages locally using the same package manager.
70+
71+
An example for Debian 12 system:
72+
73+
```{.bash data-prompt="$"}
74+
$ sudo apt install ./libexample_1.2.3-1_aarch64.deb
75+
```
76+
77+
An example for RHEL 9 system:
78+
79+
```{.bash data-prompt="$"}
80+
$ sudo dnf install libexample-1.2.3-1.el9.aarch64.rpm
81+
```
82+
83+
Repeat the installation of Percona Server for MySQL after resolving all dependencies.
84+
85+
## Verify the installation
86+
87+
After installing, verify that Percona Server for MySQL is installed and running.
88+
89+
Check the installed version:
90+
91+
```{.bash data-prompt="$"}
92+
$ mysql --version
93+
```
94+
95+
Check the service status:
96+
97+
```{.bash data-prompt="$"}
98+
$ sudo systemctl status mysql
99+
```
100+
101+
If the service is running, the output includes ```active (running)```.
102+
103+
### If the service is not running
104+
105+
If systemctl shows that the MySQL service is inactive or failed:
106+
107+
* Review recent log messages for errors
108+
109+
* Check the MySQL error log, usually located in `/var/log/mysql/` or `/var/log/mysqld.log`.
110+
111+
* Start the service manually:
112+
113+
```{.bash data-prompt="$"}
114+
$ sudo systemctl start mysql
115+
```
116+
117+
If the service still does not start, investigate configuration issues, missing dependencies, or port conflicts.

0 commit comments

Comments
 (0)