You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ready-to-use packages are available from the Percona Server for MySQL software repositories and the [Percona downloads :octicons-link-external-16:](https://www.percona.com/downloads/Percona-Server-{{vers}}/) page.
4
4
5
-
Specific information on the supported platforms, products, and versionsis described in [Percona Software and Platform Lifecycle :octicons-link-external-16:](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql).
5
+
Specific information on the supported platforms, products, and versions—including which Debian and Ubuntu releases and CPU architectures (DEB packages include `arm64`, among others)—is described in [Percona Software and Platform Lifecycle :octicons-link-external-16:](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql).
6
6
7
7
--8<-- "percona-release.md"
8
8
9
9
We gather [Telemetry data] in the Percona packages and Docker images.
10
10
11
11
--8<--- "get-help-snip.md"
12
12
13
-
## Version changes
14
-
15
-
Percona supports DEB builds with ARM packages with the `arm64.deb` extension on supported Debian and Ubuntu releases.
16
-
17
-
## Unattended installations
18
-
19
-
--8<-- "install-flag.md"
20
-
21
13
## Install Percona Server for MySQL using APT
22
14
15
+
If you are new to installing Percona Server on Debian or Ubuntu, copy the first command block below and run the commands in order. Use [Configure authentication](#configure-authentication) when the installer asks about the default authentication plugin. After the server packages are installed, open [Next Steps](#next-steps) for securing and configuring the instance. Expand the step-by-step section when you want an explanation of each command; use [Non-interactive installs and debconf](#non-interactive-installs-and-debconf) and [Unattended installations](#unattended-installations) only for scripted automation.
16
+
23
17
Run the following commands as a `root` user or with sudo:
In MySQL 8.4, the `mysql_native_password` plugin is no longer loaded by default. When the package manager prompts you during installation, you must follow the choices and steps in [Configure authentication](#configure-authentication). If you choose legacy authentication but do not enable the plugin in configuration, clients may be unable to connect or the service may fail to start.
30
+
The command sequence matches [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md) (installation steps 1–6 there).
36
31
37
-
The following sections provide detailed explanations for each step:
32
+
??? note "`percona-release` flag: `--scheme`"
38
33
39
-
1. This command updates the package lists for upgrades and new package installations. `sudo` runs the command with superuser privileges; `apt update` resynchronizes the package index files from the sources in your system's `sources.list`.
34
+
The command examples on the page pass `--scheme https` so repository URLs in APT source lists use HTTPS. The [Percona Software Repositories — `percona-release` :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/percona-release.html) documentation describes the Flags section: the available flag is `--scheme`, with supported values HTTP and HTTPS; without the flag, the tool defaults to HTTP.
40
35
41
-
```shell
42
-
sudo apt update
43
-
```
36
+
You can add `--scheme https` to subcommands such as `setup`, `enable`, `enable-only`, or `disable` following the same pattern as the examples. See the linked documentation for the full command reference.
44
37
45
-
2. This command installs the `curl` package. `curl` is a command-line tool used to transfer data over networks and is required to download the Percona repository package.
38
+
Starting in {{vers}}, the `mysql_native_password` plugin is no longer loaded by default. When the package manager may prompt you during installation (depending on the package and distribution), follow the choices and steps in [Configure authentication](#configure-authentication). If you choose legacy authentication but do not enable the plugin in configuration, clients may be unable to connect or the Percona Server service may fail to start.
46
39
47
-
```shell
48
-
sudo apt install curl
49
-
```
40
+
??? note "Step-by-step: what each command does"
50
41
51
-
3. This command downloads the `percona-release_latest.generic_all.deb` file from the Percona APT repository. The `-O` option saves the file with the same name as in the URL.
42
+
The following sections provide detailed explanations for each step:
1. The `apt update` command shown below updates the package lists for upgrades and new package installations. `sudo` runs the command with superuser privileges; `apt update` resynchronizes the package index files from the sources configured in `/etc/apt/sources.list` and `/etc/apt/sources.list.d/`.
56
45
57
-
4. This command installs `gnupg2` (for package signature verification), `lsb-release` (for distribution information), and the downloaded Percona release package. Together they configure the Percona APT repository on your system.
2. The `sudo apt install -y curl` command installs the `curl` package. `curl` is a command-line tool used to transfer data over networks and is required to download the Percona repository package.
62
51
63
-
5. This command refreshes the package lists so the system recognizes the newly enabled Percona repository and the latest package versions.
52
+
```shell
53
+
sudo apt install -y curl
54
+
```
64
55
65
-
```shell
66
-
sudo apt update
67
-
```
56
+
3. The `curl -O` command shown below downloads the `percona-release_latest.generic_all.deb` file from the Percona APT repository. The `-O` option saves the file with the same name as in the URL.
68
57
69
-
6. This command enables the Percona Server for MySQL {{vers}} release repository. It configures `apt` to install packages from the Percona repository.
4. The `sudo apt install -y gnupg2 lsb-release ./percona-release_latest.generic_all.deb` command installs `gnupg2` (for package signature verification), `lsb-release` (for distribution information), and the downloaded Percona release package. Together, `gnupg2`, `lsb-release`, and the Percona release `.deb` configure the Percona APT repository on your system.
74
63
75
-
7. You can verify the repository setup by checking the Percona release list in `/etc/apt/sources.list.d/percona-original-release.list`.
8. This command installs the `percona-server-server` package. During installation, the package manager will prompt you to select the default authentication plugin; follow the [Configure authentication](#configure-authentication) section below.
68
+
5. The `percona-release setup {{pkg}} --scheme https` command disables all current Percona repository locations on the system, then enables the release repositories that match Percona Server for MySQL {{vers}} for your distribution over HTTPS (see the [Percona Software Repositories :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/percona-release.html) documentation). Omit `--scheme https` only if you intentionally want HTTP repository URLs (the tool default).
6. The `percona-release enable {{pkg}} release --scheme https` command turns on the Percona Server for MySQL release repository location with HTTPS URLs. Run `apt update` afterward so APT loads package indexes for that repository (including `percona-server-server` and related packages).
7. You can verify the repository setup by inspecting the `.list` files under `/etc/apt/sources.list.d/` (for example `percona-original-release.list`, depending on your `percona-release` version).
82
+
83
+
8. The `sudo apt install -y percona-server-server` command installs the `percona-server-server` package. During installation, the package manager may prompt you to select the default authentication plugin (some builds use only debconf or post-install configuration); follow the [Configure authentication](#configure-authentication) section when a prompt or post-install step applies.
84
+
85
+
```shell
86
+
sudo apt install -y percona-server-server
87
+
```
82
88
83
89
### Configure authentication
84
90
85
-
During the installation process, the package manager will prompt you to select the default authentication plugin.
91
+
During the installation process, the package manager may prompt you to select the default authentication plugin, or you may need to adjust authentication only after install—see your installer output and [Non-interactive installs and debconf](#non-interactive-installs-and-debconf) when automating.
86
92
87
-
!!! warning "Important Change in MySQL 8.4"
93
+
!!! warning "Important change in {{vers}}"
88
94
89
-
Percona Server for MySQL 8.4 inherits the upstream change where the `mysql_native_password` plugin is **disabled by default**.
95
+
Percona Server for MySQL {{vers}} inherits the upstream change where the `mysql_native_password` plugin is disabled by default.
**Select this option if you are setting up a new server or using modern application drivers.**
99
+
Select Option 1 if you are setting up a new server or using modern application drivers.
94
100
95
-
This uses the `caching_sha2_password` plugin, providing superior security and performance. No further configuration is required.
101
+
The recommended option uses the `caching_sha2_password` plugin, providing superior security and performance. No further configuration is required.
96
102
97
103
=== "Option 2: Legacy (Native Password)"
98
104
99
-
**Select this option only if you must support legacy applications that cannot be updated.**
105
+
Select Option 2 only if you must support legacy applications that cannot be updated.
100
106
101
-
If you choose this option, you **must** manually enable the plugin after installation, or the server will fail to authenticate users using this method.
107
+
If you choose Option 2, you must manually enable the plugin after installation, or the server will fail to authenticate users who rely on native-password authentication.
102
108
103
109
1. Open your configuration file (e.g., `/etc/mysql/mysql.conf.d/mysqld.cnf`).
104
110
105
111
2. Add the following to the `[mysqld]` section:
106
112
```ini
107
113
[mysqld]
108
-
mysql-native-password=ON
114
+
mysql_native_password=ON
109
115
```
110
116
111
117
3. Restart the service:
@@ -121,6 +127,52 @@ See [Configuring Percona repositories with `percona-release` :octicons-link-exte
121
127
122
128
After successful installation, see [Post-installation](post-installation.md) for detailed steps to configure and secure your Percona Server for MySQL installation.
123
129
130
+
## Non-interactive installs and debconf
131
+
132
+
Adding `-y` to `apt install` only skips APT confirmation prompts. The `percona-server-server` packages still run maintainer scripts that may ask debconf questions (for example the MySQL `root` password, whether to reuse an existing data directory, or lowercase table names, depending on your version and what is already on the disk).
133
+
134
+
To automate those prompts:
135
+
136
+
1. Discover the questions your package version uses. On a lab host, install once interactively or inspect templates, then run:
137
+
138
+
```shell
139
+
sudo debconf-show percona-server-server
140
+
```
141
+
142
+
Template definitions are also shipped with the package (paths such as `/var/lib/dpkg/info/percona-server-server.templates`).
143
+
144
+
Verify for each target: preseed names and choices can differ by distribution, point release, and `percona-server-server` package version. Re-run `debconf-show` after upgrades or when you change base image. For production automation, keep a short checklist (distro + package version → saved `debconf-show` output) so scripts stay aligned with what the package actually asks.
145
+
146
+
2. Preseed answers with `debconf-set-selections` before `apt install`. For the templates shipped with many Percona Server for MySQL {{vers}} packages, password prompts use the `percona-server-server/root-pass` and `percona-server-server/re-root-pass` names—for example:
Other prompts (for example `percona-server-server/lowercase-table-names` or `percona-server-server/remove-data-dir`) appear only in some upgrade or edge-case paths—use `debconf-show` output to add matching lines. Do not commit real passwords to version control or broad shell history.
154
+
155
+
3. Optional: set `DEBIAN_FRONTEND=noninteractive` for the install so debconf does not try to open a UI. Noninteractive installs are usually combined with preseeding; without defaults for required questions, the configure step can still fail or leave the server in an unexpected state.
Default authentication plugin: if your distribution or package adds a debconf choice for the authentication plugin, that question shows up under `debconf-show` for `percona-server-server`. If the distribution or package does not add such a question, unattended installs still follow the same rules as an interactive install: use [Configure authentication](#configure-authentication) after the package is installed (for example `mysql_native_password=ON` in `my.cnf` when you need legacy auth).
162
+
163
+
See also
164
+
165
+
*[Telemetry](telemetry.md) — disable collection for package installs with `PERCONA_TELEMETRY_DISABLE=1` on the same `apt` command line.
166
+
*[Authentication methods](authentication-methods.md) — options for `mysql_native_password`, `caching_sha2_password`, and related settings.
167
+
*[Post-installation](post-installation.md) — secure and configure the server after packages are installed.
168
+
*[Debian Wiki — debconf :octicons-link-external-16:](https://wiki.debian.org/debconf) — how debconf and preseeding work on Debian-derived systems.
169
+
170
+
## Unattended installations
171
+
172
+
For the same `apt` / `percona-release` sequence as in [Install Percona Server for MySQL using APT](#install-percona-server-for-mysql-using-apt), add `-y` to each `sudo apt install` line where you need non-interactive APT confirmations, and use non-interactive options for `percona-release` as in the following snippet.
173
+
174
+
--8<-- "install-flag.md"
175
+
124
176
## Install Percona Toolkit UDFs (Optional)
125
177
126
178
Percona Server for MySQL includes user-defined functions (UDFs) from [Percona Toolkit :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/). These UDFs provide faster checksum calculations:
@@ -131,9 +183,9 @@ Percona Server for MySQL includes user-defined functions (UDFs) from [Percona To
131
183
132
184
*`murmur_hash`: High-performance hash function
133
185
134
-
User-Defined Functions (UDFs) are custom functions you can add to MySQL to extend its capabilities. These particular UDFs are useful for data integrity checks and performance monitoring.
186
+
User-Defined Functions (UDFs) are custom functions you can add to MySQL to extend MySQL capabilities. The Percona Toolkit UDFs are useful for data integrity checks and performance monitoring.
135
187
136
-
To install these functions after installation:
188
+
To install the Percona Toolkit UDFs after installation:
You can now use these functions in your SQL queries. For example: `SELECT fnv_64('test_string');`
200
+
You can now use the UDFs in your SQL queries. For example: `SELECT fnv_64('test_string');`
149
201
150
-
For detailed information about these functions, see [Percona Toolkit UDF functions](udf-percona-toolkit.md).
202
+
For detailed information about the UDFs, see [Percona Toolkit UDF functions](udf-percona-toolkit.md).
151
203
152
204
## Install the Percona testing repository using APT
153
205
154
-
Percona offers pre-release builds from the testing repository. As a superuser, run `percona-release` with the `testing` argument to enable it:
206
+
Percona offers pre-release builds from the testing repository. As a superuser, run `percona-release` with the `testing` argument to enable the testing repository:
Do not run testing repository builds in production. The build may not contain all the features available in the final release and may change without notice.
0 commit comments