1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Ubuntu20.04 阿里云服务器网站搭建 Apache2+PHP+MySQL

Ubuntu20.04 阿里云服务器网站搭建 Apache2+PHP+MySQL

时间:2020-03-09 00:40:51

相关推荐

Ubuntu20.04 阿里云服务器网站搭建 Apache2+PHP+MySQL

Ubuntu20.04 阿里云服务器网站搭建 __02__MySQL

初步任务MySQL_8.x安装与测试第一步:下载MySQL的服务器版本第二步:初始化配置第三步:配置远程链接(1)给root用户开通远程链接权限(2)更改配置项,允许MySQL进行远程链接(3)以下的步骤和以上的(1)步骤重合,如果(1)不奏效,可以看看这个 第四步:在你的云服务器上开放MySQL端口第五步:验证远程链接(1)直接使用命令行链接测试(方便、快捷)--推荐(2):安装并使用Navicat进行远程链接 一些常见的问题报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 参考链接

初步任务

在阿里云服务器Ubuntu20.04环境下,安装配置部署MySQL,并且使用Navicat Premium 16进行远程链接测试。

MySQL_8.x安装与测试

这里安装MySQL最新版本(默认安装)

第一步:下载MySQL的服务器版本

sudo apt-get install mysql-server

不行的话先换源(其实本机上的阿里源就可以),以下以(添加)清华源为例

sudo vim /etc/apt/source.list

在最后添加以下一段:

deb https://mirrors.tuna./ubuntu/ xenial main restricted universe multiversedeb-src https://mirrors.tuna./ubuntu/ xenial main restricted universe multiversedeb https://mirrors.tuna./ubuntu/ xenial-updates main restricted universe multiversedeb-src https://mirrors.tuna./ubuntu/ xenial-updates main restricted universe multiversedeb https://mirrors.tuna./ubuntu/ xenial-backports main restricted universe multiversedeb-src https://mirrors.tuna./ubuntu/ xenial-backports main restricted universe multiversedeb https://mirrors.tuna./ubuntu/ xenial-security main restricted universe multiversedeb-src https://mirrors.tuna./ubuntu/ xenial-security main restricted universe multiverse

执行更新后下载:

sudo apt-get updatesudo apt-get upgradesudo apt-get install mysql-server # 默认应该是下载到最新版本

我当前的版本如下:

sudo mysql -Vmysql Ver 8.0.30-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

第二步:初始化配置

执行以下语句进行初始化配置

sudo mysql_secure_installation

以下依次会出现几个选项供输入、选择,依次是:

是否需要设置密码? 选择y密码强度等级?这里我们就选最低的0(只限制密码的最短长度)输入密码再次确认密码是否更改密码

ok,到这里大多数情况会出现一个报错(虽然你的密码符合强度等级要求的标准,且两次输入均一致)。暂时停在这里,再开一个命令行窗口,接入你的云服务器。直接输入mysql免密登录(刚刚安装的mysql是没有密码的,允许这样登录)。以下依次输入:

mysqlALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'yourpassword';# 'yourpassword'的位置输入你刚刚卡住报错那个位置输入的密码# 不要忘记打分号哦~

显示Query OK即可退出这个窗口,回到刚刚卡住的那个位置,继续输入刚刚输入的密码,并重新输入验证,选“y”,回车。这次直接通过。

之后的几个问题分别是:

是否删除匿名账户? 选n是否禁止root用户远程登录? 选n是否清除测试的数据集?选n是否立刻刷新设置?选y

以上基础配置成功,初始化完成。

第三步:配置远程链接

(1)给root用户开通远程链接权限

首先将mysql设置为所有地址均可访问(默认是只有本地可以访问),如下:

先查看一下当前的访问状态

>use mysql;>select host,user from user;+-----------+------------------+| host| user |+-----------+------------------+| localhost | debian-sys-maint || localhost | mysql.infoschema || localhost | mysql.session || localhost | mysql.sys || localhost | root |+-----------+------------------+# 可见 为 root 的用户登录,仅可本地访问(localhost)

进行修改,修改结果如下

> update user set host = '%' where user = 'root';Query OK, 1 row affected (0.01 sec)Rows matched: 1 Changed: 1 Warnings: 0> select host,user from user;+-----------+------------------+| host| user |+-----------+------------------+| % | root || localhost | debian-sys-maint || localhost | mysql.infoschema || localhost | mysql.session || localhost | mysql.sys |+-----------+------------------+

执行完以上,立刻刷选权限

> FLUSH PRIVILEGES;

(2)更改配置项,允许MySQL进行远程链接

执行以下命令并注释掉bind-address这行

sudo vim /etc/mysql/mysql.conf.d/f# 注意是f 不是 f

保存退出后重启mysql

相关命令如下:

sudo service mysql restart # 重启mysqlsudo service mysql start # 启动mysqlsudo service mysql stop # 停止mysqlsudo service mysql status # 查看当前mysql运行状态

(3)以下的步骤和以上的(1)步骤重合,如果(1)不奏效,可以看看这个

之后依次登入mysql,切换选择mysql数据库

mysql -u root -p# 输入密码#以下进入mysql后选择mysql数据库mysql> use mysql# 显示 Database changed字样

查看mysql当前默认权限:

mysql> select user,host from user;# 这里可以看到root访问权限是localhost,这表示远程不可访问# 如果要远程可以访问,root必须是“%”

于是进行更改:

mysql> update user set host='%' where user='root';# 之后可以使用以下指令再次查看mysql> select user,host from user;

之后授权远程登录:

mysql> Grant all privileges on root.* to 'root'@'%';

修改密码规则,使得远程可以访问:

ALTER USER root IDENTIFIED with mysql_native_password by 'yourpassword';# 以上是mysql-8之后版本的写法,以下是之前的写法SET password for 'root'@'localhost'=password('yourpassword')

第四步:在你的云服务器上开放MySQL端口

很容易被忽视的一点,如下配置,开放MySQL默认的3306端口。

第五步:验证远程链接

(1)直接使用命令行链接测试(方便、快捷)–推荐

命令行输入以下命令进行链接测试(前提是你的机器安装了mysql):

$ mysql -h YourRemoteIP -P 3306 -u root -pEnter password:xxxxxxxWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8Server version: 8.0.30-0ubuntu0.20.04.2 (Ubuntu)Copyright (c) 2000, , Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql># 出现以上表示接入成功

(2):安装并使用Navicat进行远程链接

(使用任意MySQL可视化工具都可,这里其实更建议使用MySQL WorkBench 进行远程链接测试)

链接名随便取主机IP是你阿里云服务器的公网IP端口号就是默认的(刚刚你在上一步开放的端口)用户名是定义的root密码是mysql的设置密码

至此整个流程完毕。

一些常见的问题

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

密码不符合规定,强烈建议以下步骤,无论如何在上一节的“第二步”中一并执行一遍。

首先浏览一下默认的密码策略:

mysql> 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)

这里的MEDIUM改成LOW即可,具体操作如下:

mysql> set global validate_password.policy=0;Query OK, 0 rows affected (0.00 sec)# 其他可供选择的配置如下(不一定需要一模一样)# 将密码默认最短长度改短:原来是8现在改成1mysql> set global validate_password.length=1;Query OK, 0 rows affected (0.00 sec)# 用户名不能和密码相同?现在改为允许:mysql> set global validate_password.check_user_name=off;Query OK, 0 rows affected (0.00 sec)

参考链接

核心参考–安装以及配置

核心参考–远程链接

报错参考–密码安全性等级修改

报错参考–阿里云开放MySQL端口

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。