OrangePi AIpro Ubuntu 22.04 aarch64 安装MySql 8.0

查看MySQL安装包

在这里插入图片描述

接下来可以使用以下命令安装MySQL服务器:

  1. 安装MySQL 8.0
# 安装最新版本
sudo apt install -y mysql-server
# 安装指定版本
sudo apt install -y mysql-server-8.0
  1. 初始化配置信息

    sudo mysql_secure_installation
    
  • VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security Would you like to setup VALIDATE PASSWORD component?(使用密码强校验组件)-> n

    • (如果输入y 之后会让你选level 0/1/2,跳过为root设置密码,因为默认情况下使用auth_socket进行身份验证)
    • 输入n、不使用校验组件,请你直接设置密码、之后用sudo mysql -u root -p进行登录
  • New Password:(设置新密码,并重复一遍)

  • Remove anonymous users (删除匿名用户) n

  • Disallow root login remotely(拒绝远程root账号登录) n

  • Remove test database and access to it(移除test数据库) n

  • Reload privilege tables now (现在就重新载入权限表) y

之前没有设置密码

使用sudo mysql -u root登录

在这里插入图片描述

  1. 设置密码(该步骤适用 启动密码校验组件)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
 # 密码必须8位

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

是因为之前设置的等级为medium,要求长度>= 8、数字、混合大小写和特殊字符
注意这个mysql 5.7的设置方式不一样

SET GLOBAL validate_password.policy = 'LOW';
# 设置密码策略为低

# mysql 5.7
set global validate_password_policy='LOW';

查看当前密码长度

select @@validate_password.length;

select @@validate_password_length;

±---------------------------+
| @@validate_password.length |
±---------------------------+
| 8 |
±---------------------------+
1 row in set (0.00 sec)

设置密码长度

 set global validate_password.length=6;
  1. 更改默认 root 用户的认证方法(如有必要)
    默认情况下,MySQL 使用 auth_socket 组件对 root 进行身份验证,这可能会阻止远程登录。要改为使用密码认证,请执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'SSKS#dd';
FLUSH PRIVILEGES;

查看当前mysql的用户

SELECT User, Host FROM mysql.user;

mysql> SELECT User, Host FROM mysql.user;
±-----------------±----------+
| User | Host |
±-----------------±----------+
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
±-----------------±----------+
5 rows in set (0.00 sec)

  1. 创建一个允许远程访问的 root 用户
    接下来,创建一个与您的 root 用户相同权限的用户,但允许从任何主机连接。

    6.1 不再另外创建root,直接使用mysql创建的root用户

    update user set Host='%' where User='root';
    

    授予权限

    GRANT ALL ON *.* TO 'root'@'%';
    FLUSH PRIVILEGES; # 刷新权限
    

    创建自己的root用户

CREATE USER 'root'@'%' IDENTIFIED BY 'SSKS#dd';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

mysql> CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘123456’;
Query OK, 0 rows affected (0.10 sec)

mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.11 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT User, Host FROM mysql.user;
±-----------------±----------+
| User | Host |
±-----------------±----------+
| root | % |
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
±-----------------±----------+
6 rows in set (0.00 sec)

  1. 修改 MySQL 配置以允许远程连接

编辑 MySQL 配置文件,通常在 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf

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

找到 bind-address 和mysqlx-bind-address项,把127.0.0.1更改为 0.0.0.0 或注释掉这两行,以允许从任何 IP 地址连接。

bind-address = 0.0.0.0
mysqlx-bind-address     = 0.0.0.0  # 这个步骤也可以不设置

使用Navicat 17登录

在这里插入图片描述

连接成功

在这里插入图片描述

上一篇:python调用天气接口并解析json数据


下一篇:发现XWPFDocument写入Word文档时的小BUG:两天的探索与解决之旅