Ubuntu Server26.10 : MySQL9 , WordPress Install

1. MySQL9

1. 1 Install

# apt -y install mysql-server
# systemctl start mysql
# systemctl enable mysql

Version Check

# mysql --version
mysql  Ver 9.7.2-4ubuntu1 for Linux on x86_64 ((Ubuntu))

1.2. Setting the root password for MySQL9

# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 9.7.2-4ubuntu1 (Ubuntu)

Copyright (c) 2000, 2026, 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> ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY '[Password]';
Query OK, 0 rows affected (0.00 sec)

mysql>EXIT;

1.3. MySQL Server Security Settings

Run the tool mysql_secure_installation to configure security-related settings for the MySQL server.

# mysql_secure_installation
Settings

Securing the MySQL server deployment.

Enter password for user root:

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Using existing password for root.

Estimated strength of the password: 25
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

New password:[Password]

Re-enter new password:[Password]

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database…
Success.

- Removing privileges on test database…
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

From then on, when accessing MySQL, you must use the

# mysql -u root -p
Enter password: (Enter the password you set above)

2.WordPress Install

2.1 Create database

Create a database for Word Press (for example, in this case, the database name is "wp_db", the user name is "wp_user", and the password is "?Y123456y")

# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 9.7.2-4ubuntu1 (Ubuntu)

Copyright (c) 2000, 2026, 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> CREATE DATABASE wp_db;
Query OK, 1 row affected (0.002 sec)

mysql> create user 'wp_user'@'localhost' identified by '?Y123456y';
Query OK, 0 rows affected (0.006 sec)

mysql> grant all on wp_db.* to 'wp_user'@'localhost';
Query OK, 0 rows affected (0.001 sec)

mysql> flush privileges;
Query OK, 0 rows affected, 1 warning (0.001 sec)

mysql> exit;
Bye

2.2 WordPress Download and Install

①Download and Deployment

# cd /var/www/html/<FQDN>
# wget http://wordpress.org/latest.tar.gz
# tar xvf latest.tar.gz

②Edit WordPress configuration file

# cd wordpress/
# cp wp-config-sample.php wp-config.php
# vi wp-config.php

Edit WordPress configuration file

Line 23:
define('DB_NAME', 'wp_db');  ←Database name created in "2.1 Database Creation"

Line 26:
define('DB_USER', 'wp_user'); ←User name created in "2.1 Database Creation"

Line 29:
define('DB_PASSWORD', '?Y123456y'); ←Password for the user created in "2.1 Database Creation"

Also, add the following to the last line.
If you do not do this, you will be asked for what amounts to FTP connection information when you add the plugin.
define('FS_METHOD', 'direct');

③Moving Files

# cd /var/www/html/<FQDN>
# mv wordpress/* .

After confirming that the files have been moved, delete the wordpress directory and the downloaded latest.tar.gz

# rm -R -f wordpress
# rm -f latest.tar.gz

④Make apache the owner of the wordpress directory

# chown -R www-data:www-data /var/www/html/<FQDN>

⑤Access from the browser
Access http://[FQDN]/wp-admin.
If successful, the following WordPress installation information input screen will be output.

If you see the message "It appears that the PHP on your server does not support the MySQL extensions required by WordPress" in Ubuntu

Installing the MySQL Module

# apt -y install php-mysqli

Restart Apache after installation is complete.

# systemctl restart apache2

On the following input screen
Site Title   Any name
Username   Any name
Password  Any password
Your Email  Administrator's email address

Click "Install WordPress." Be sure to remember your "Username" and "Password," as you'll need them to access the WordPress admin panel.