热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

阿里云服务器中安装配置MYSQL数据库完整教程

阿里云服务器中安装配置MYSQL数据库完整教程一、确保服务器系统处于最新状态(这步操作可有可无)第一步:确保服务器系统处于最新状态&#

阿里云服务器中安装配置MYSQL数据库完整教程


一、确保服务器系统处于最新状态(这步操作可有可无)

第一步: 确保服务器系统处于最新状态(这步操作可有可无)

[root@localhost ~]# yum -y update

如果显示以下内容说明已经更新完成

Replaced:
grub2.x86_64 1:2.02-0.64.el7.centos grub2-tools.x86_64 1:2.02-0.64.el7.centos
Complete!

第二步: 重启服务器(这步操作也可以跳过)
[root@localhost ~]# reboot

第三步: 首先检查是否已经安装,如果已经安装先删除以前版本,以免安装不成功

[root@localhost ~]# rpm -qa | grep mysql

[root@localhost ~]# yum list installed | grep mysql

如果安装了的话,就使用下面这条命令删除原先的mysql,举例如下:

rpm -e --nodeps mysql-libs-5.1.73-5.e16_6.i686

第四步: 下载MySql安装包

rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

[root@localhost ~]# rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

第五步: 安装MySql

[root@localhost ~]# yum install -y mysql-server

[root@localhost ~]# yum install mysql-community-server

如果显示以下内容说明安装成功
Complete!

第六步: 设置开机启动mysql

systemctl enable mysqld.service

第七步: 检查是否已经安装了开机自动启动

systemctl list-unit-files | grep mysqld

如果显示以下内容说明已经完成自动启动安装
mysqld.service enabled

第八步: 设置开启服务

systemctl start mysqld.service

第九步: 查看MySql默认密码

grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述

第十步: 登陆MySql,输入用户名和密码

mysql -uroot -p //密码也就是第九步里面查看到的默认密码

第十一步: 修改当前用户密码 注意看下面的报错

mysql>SET PASSWORD = PASSWORD('alliance'); //但是这样会报错的,具体错误看下面

注:直接复制粘贴上边的命令,会报错,错误如下

在这里插入图片描述

解决方案如下:

原因:mysql为了安全,有自己的策略要求,如果我们想将其设置为我们常用的root或者123456这样的密码,需要修改策略要求,具体命令如下:

1.设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值

在这里插入图片描述
然后再次在mysql命令行下执行

mysql>SET PASSWORD = PASSWORD('alliance');

在这里插入图片描述

成功!

第十二步: 开启远程登录,授权root远程登录(解释:不要以为阿里云服务器可以远程登录root用户,就以为我们也可以以mysql的root用户身份远程登录mysql数据库)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'alliance' WITH GRANT OPTION; //这里的alliance要换成你自己mysql数据库的密码

第十三步: 命令立即执行生效

mysql>flush privileges; 这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数, 因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

Mysql是为了安全考虑,初始的时候并没有开启Root用户(解释:mysql的root用户和我们云服务器的root用户是两个不同的,分开的)的远程访问权限,Root(解释:这里是指mysql的root用户,而不是云服务器的root用户)只能本地localhost,127.0.0.1访问,但是我们操作起来实在是不方便,下面我们就使用Xshell连接Linux服务器操作Mysql给Root用户(解释:这里是指mysql的root用户,而不是云服务器的root用户)添加远程访问权限。(**解释:**上面的第十二步,就是授权其他工具可以远程以mysql的root用户的身份登录mysql(解释:这里是指mysql的root用户,而不是云服务器的root用户))


下面我们来看实操篇吧

我们先试用Xshell连接我们的远程Linux服务器:

①先远程登录云服务器

②然后输入mysql -u root -p命令,回车会出现 Enter password: 然后将我们的root用户密码输入进去再次回车:

然后要切换到mysql数据库

-> use mysql
在这里插入图片描述

③接下来我们可以查看一下现有用户及连接权限

-> select User,authentication_string,Host from user

mysql是为了安全考虑所以初始的时候远程是不能访问的,只能本地localhost,127.0.0.1访问。(就相当于远程只能登录mysql这个工具,却不能以某种用户的身份访问里面的数据(我们平时做项目都是以root用户的身份访问指定数据库数据))

④下面我们就再添加一个root用户,密码暂时为空,允许任意Ip访问’%’

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用户的密码' WITH GRANT OPTION;

然后我们刷新一下mysql的权限

-> flush privileges; // 这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据

​ 因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

执行完这两步,再次查询用户表命令:select User,authentication_string,Host from user

在这里插入图片描述

发现多了一个用户,该用户所有的主机都可以访问,此时再次用navicat远程访问连接成功!如果还是连接不上的话,可以检查以下几项:

​ 1.防火墙状态是否关闭u

​ 2.阿里云服务器后台也要设置,如下图,点击“安全组配置”,开放指定端口号

在这里插入图片描述

在这里插入图片描述

开放了指定的端口号之后,navicat就可以远程通过3306端口号来访问云服务器上的mysql数据库了(身份是mysql的root用户)

在这里插入图片描述


推荐阅读
author-avatar
飞隔热条二
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有