Ubuntu安装Mysql-5.7

  1. 升级Ubuntu软件资源库

    sudo apt update && sudo apt upgrade -y

sudo apt update && sudo apt upgrade -y
  1. 查找apt中的mysql版本

    apt-cache search mysql-server

root@rock64:/home/rock64# apt-cache search mysql-server
mysql-server - MySQL database server (metapackage depending on the latest version)
mysql-server-5.7 - MySQL database server binaries and system database setup
mysql-server-core-5.7 - MySQL database server binaries
default-mysql-server - MySQL database server binaries and system database setup (metapackage)
default-mysql-server-core - MySQL database server binaries (metapackage)
mariadb-server-10.1 - MariaDB database server binaries
mariadb-server-core-10.1 - MariaDB database core server files
percona-xtradb-cluster-server-5.7 - Percona XtraDB Cluster database server binaries
  1. 这里我们安装5.7的版本

    apt install mysql-server-5.7

root@rock64:/home/rock64# apt install mysql-server-5.7
  1. 执行完上面的指令后,查看mysql版本号验证是否安装成功

    mysql --version

root@rock64:/home/rock64# mysql --version
mysql  Ver 14.14 Distrib 5.7.39, for Linux (aarch64) using  EditLine wrapper
  1. 安装成功后,mysql会将自动生成的默认用户名密码放置在此处

    cat /etc/mysql/debian.cnf

root@rock64:/home/rock64# cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = YBPGqJxLj2TNsLUG
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = YBPGqJxLj2TNsLUG
socket   = /var/run/mysqld/mysqld.sock
  1. 根据上述文件中的账号密码登录mysql客户端

    mysql -u user -p

root@rock64:/home/rock64# mysql -u debian-sys-maint -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.39-0ubuntu0.18.04.2 (Ubuntu)

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.
  1. 查看mysql数据库所拥有的用户
mysql> use mysql;
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> select user, authentication_string from user;
+------------------+-------------------------------------------+
| user             | authentication_string                     |
+------------------+-------------------------------------------+
| root             |                                           |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| debian-sys-maint | *A015F60FAC01D9B7082DFCFDFF186016F6D1AA80 |
+------------------+-------------------------------------------+
  1. 更改root用户密码
mysql> update user set authentication_string = '123qwe123' where user = 'root'; 
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
  1. 退出当前会话,重新登录 ,验证是否更改密码成功
mysql> exit
Bye
root@rock64:/home/rock64# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.39-0ubuntu0.18.04.2 (Ubuntu)
  1. 配置远程登录,编辑mysqld.cnf配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

注释当前行:

#bind-address           = 127.0.0.1
  1. 给root用户授权能访问的库

*.* :表示root用户能够通过远程登录访问所有库的所有表

mysql> grant all PRIVILEGES on *.* to root@'%' identified by 'Gxems#21';
Query OK, 0 rows affected, 1 warning (0.01 sec)
  1. 重启mysql服务
service mysql restart

至此,安装Mysql 的过程结果,大功告成!

温馨提示:如果没有正确执行10-12步骤,或者中途出错,可能会导致远程主机无法访问到本机,使用telnet测试如下:

root@rock64:/home/rock64# telnet 192.168.31.32 3306
Trying 192.168.31.32...
Connected to 192.168.31.32.
Escape character is '^]'.
FHost '192.168.31.32' is not allowed to connect to this MySQL serverConnection closed by foreign host.

正确的情况应该如下:

root@rock64:/home/rock64# telnet 192.168.31.32 3306
Trying 192.168.31.32...
Connected to 192.168.31.32.
Escape character is '^]'.
[
5.7.39-0ubuntu0.18.04.2LtCe.&cjp"q";}yqYmysql_native_passwordXshell