阿里云安装mysql8.0

2020-11-11  本文已影响0人  南飞孤鸿

记录一下自己在阿里云安装mysql的过程和中间踩的一些坑

一、卸载之前版本的mysql

1.通过以下命令行,可以查看到之前安装的版本


rpm -qa | grep mysql

image

如果列表有内容,就表示之前安装过,需要进行删除,如果列表没内容,可以跳过卸载部分

2.删除之前安装的mysql

先停止之前的mysql服务service mysqld stop

使用命令行rpm -ev 包名,删除上面列表中的包文件

rpm -ev mysql-community-client-plugins-8.0.22-1.el7.x86_64

如果提示依赖包错误,则使用以下命令尝试

rpm -ev mysql-community-client-plugins-8.0.22-1.el7.x86_64 --nodeps 

如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1

则用以下命令尝试

rpm -ev --noscripts mysql-community-client-plugins-8.0.22-1.el7.x86_64

3.查找之前mysql的目录,并且删除文件和库

find / -name mysql

image

使用 rm -rf 文件名 命令行,删除之前的文件,如 rm -rf /var/spool/mail/mysql

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除 rm -rf /etc/my.cnf

重复第一步,rpm -qa | grep mysql 再次查找机器是否安装mysql,如果没有结果,说明意见删除完成

二、安装mysql

1.创建安装目录

使用命令行,创建一个mysql的安装路径,根据个人习惯,一般会在 /usr/service 目录下

mkdir /usr/service/mysql

创建目录后,命令行进入指定文件夹

cd /usr/service/mysql 

2.查找mysql链接

进入mysql官网下载地址,点击 MySQL Yum Repository,找到对应系统的版本,点击download,跳转页面后,找到No thanks, just start my download.,右键弹窗中,有个复制连接地址,这样就可以获取到mysql的yum安装地址。

Yum Repository
download
获取下载链接

3.下载安装mysql

1.下载
cd进入之前的安装目录,找到下载链接后,使用命令行下载mysql

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.安装
下载完成后,输入命令行 yum localinstall my 后可以按 tab 键即可自动补全,补全的就是刚刚下载的mysql包名,这两个文件名要一致。

yum localinstall mysql80-community-release-el7-3.noarch.rpm 
下载安装
安装过程中,会有一个输入询问,直接输入y就可以。安装过程等待一会儿,进度条走完后,命令行输入
yum install mysql-community-server

安装过程中,会再次出现一个输入询问,直接输入y就可以。出现以下截图样式,表示全部安装完成。

安装完成
3.基本操作命令

启动 service mysqld start
停止 service mysqld stop
重启 service mysqld restart
查看状态 service mysqld status

通过以上命令行,就可以操作MySQL,进行启停等操作

三、重置密码

  1. 开启免密码登陆 修改my.cnf文件 。命令行输入vim /etc/my.cnf ,查看my.cnf文件,在mysqld模块下面添加:skip-grant-tables 保存退出。

2.重启服务器,让配置生效。service mysqld restart
3.登录mysql,命令行输入mysql -u root -p ,命令行会让输入密码,这里不输入,直接敲回车,就可以
4.修改全局设置,降低密码要求等级

mysql8.0以上版本修改密码方式与以前版本不同,密码格式要求至少包含了数字、字母及特殊字符三种,如果想跟以前一样设置常规密码,需要降低密码等级,如果计划设置复制密码,就可以跳过这一步。

查看8.0版本的变量名 SHOW VARIABLES LIKE 'validate_password%';
使用以下命令进行配置修改

set global validate_password.policy=0;
set global validate_password.length=1;

再次输入SHOW VARIABLES LIKE 'validate_password%';会发现等级已经降低

默认设置
修改后的设置

5.修改密码
依次输入以下命令行,就可以修改密码,注意语句后面都要带;号

使用数据库 use mysql;
置空之前的密码 update user set authentication_string='' where user='root';
刷新权限表 flush privileges;
查看用户及host select user,host from user;
修改root 密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root@123';

退出mysql exit;
6.关闭免密登录
到这里,mysql修改密码已经完成,因为之前开启了免密登录,这时需要关闭此设置
命令行输入vim /etc/my.cnf ,查看my.cnf文件,删除之前添加的skip-grant-tables 保存退出。重启mysql。再次登录,这时就必须要输入密码了,输入之前设置的密码,就可以登录mysql。

四、允许远程访问

1.服务器放开3306端口

登录阿里云,找到ECS服务器,找到安全组,在安全组配置中,添加端口放行规则,端口范围:3306/3306,授权对象:0.0.0.0/0,其他默认就行

2.授权远程访问

放行端口后,使用navicat连接数据库报错:1130-host ... is not allowed to connect to this MySql server。这个报错,需要服务器运行mysql远程访问。
1.连接mysql
使用命令行 mysql -u root -p连接mysql,输入之前设置的密码,就可以进入mysql
2.查看当前所有数据库:show databases;
3.进入mysql数据库:use mysql;
4.查看mysql数据库中所有的表: show tables;
5.修改user表中的Host。update user set Host='%' where User='root';
6.刷新权限表 flush privileges;
7.退出 exit;
这个时候使用navicat连接数据库就没问题了

注意 如果设置运行外网访问(执行update user set Host='%' where User='root';)后,重置或者修改密码时,需要将ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root@123';要替换成ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root@123';。如果需要查看'root'@'后面具体用什么,可以进入mysql数据库,之后use mysql;使用,输入命令行select user,host from user;来查看

查看root信息
上一篇下一篇

猜你喜欢

热点阅读