ubuntu20.04 安装 mysql 8.0 数据库

3 篇文章 0 订阅
2 篇文章 0 订阅

ubuntu20.04 安装 mysql 8.0 数据库

一、安装数据库

1.安装 mysql 数据库:

更新源:

sudo apt update

安装 mysql 服务:

sudo apt install mysql-server

安装完成之后,mysql 服务会自动启动。查看 mysql 是否正常运行:

sudo systemctl status mysql

输出如下结果,则说明 mysql 服务已径在正常运行

mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset:>
Active: active (running) since Sat 2021-11-06 09:37:36 CST; 3min 22s ago
Main PID: 36265 (mysqld)
Status: "Server is operational"

2.设置密码:

MySQL 安装成功都会有一个 mysql_secure_installation 脚本,可以运行它设置 mysql 服务 root 的初始密码:

① 调用脚本:

sudo mysql_secure_installation

② 根据系统提示一步步按要求操作:

第一步:设置 VALIDATE PASSWORD 组件:输入 y

第二步:选择 root 密码级别,密码强度分为三个级别:低,中,高

第三步:设置 root 用户密码

第四步:后面系统会要求您删除匿名用户、限制 root 用户计算机的访问、删除测试数据库、重新加载特权表等,所有选项都按 y 就行

3.配置远程访问:

将 bind-address 的值改为 0.0.0.0

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

重启 mysql 服务

sudo /etc/init.d/mysql restart

4.登录:

第一种:直接登录(MySQL 8.0 及以上版本,auth_socket 默认情况下,root 用户通过插件进行身份验证,所以这种方法不需要输入密码直接可以登录)

sudo mysql

第二种:输入密码登录,这种安全性更高

mysql -uroot -p你的摩玛

如果要使用外部程序以 root 用户身份登录到 mysql 服务时,需要更改身份验证方法,把 auth_socket 改为 mysql_native_password。在 mysql 服务中运行以下两行命令完成:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;

如果出现以下报错:

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

解决办法:

报错原因:requirements 密码策略不符合要求。

以下命令查看密码策略:

SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

策略说明
validate_password.length:密码的最小长度,默认是 8,把它改成 6

set global validate_password.length=6;

validate_password.policy:验证密码的复杂程度,把它改成 0

set global validate_password.policy=0;

validate_password.check_user_name:用户名检查,用户名和密码不能相同,把它关掉

set global validate_password.check_user_name=off;

二、设置 root 账号允许远程访问

进入 mysql

sudo mysql -uroot -p你的密码

修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

使用 mysql_native_password 重新修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

允许远程访问

UPDATE mysql.user SET host = '%' WHERE user = 'root';

刷新权限

FLUSH PRIVILEGES;

三、新增用户赋权并设置远程访问

创建用户并设置密码

CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

设置远程权限

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值