Linux安装mysql各种错误

前言

服务器搭建mysql.修改临时密码,授权和禁止远程登录访问。
注意:我安装了 mysql 5.7 和 MySQL 8 ,有些不重要的截图可能版本对不上,安装过程遇到的错误以罗列完全

环境

操作系统     Linux centOS 8.3.1

1、下载并安装官方的 yum repository (新建了mysql文件夹)
根据系统选择适合你的版本
链接: https://dev.mysql.com/downloads/mysql/.
在这里插入图片描述
选择 install Using Yum安装,点击Download Now查看下载链接
在这里插入图片描述
复制rpm路径
在这里插入图片描述
拼接复制的路径做为下载地址

wget https://dev.mysql.com/get/MySQL版本rpm路径

mysql8.0 版本
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm  

MySQL5.7 版本
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2、安装下载过来的文件(yum repository)

yum -y install mysql80-community-release-el8-1.noarch

上面这两步应该不会有问题,有问题看看是不是命令敲错,或者网不好

3、进入正题:yum安装mysql

yum -y install mysql-community-server

可能出现如下错误
在这里插入图片描述

解决办法
①、输入 yum module disable mysql 命令
在这里插入图片描述

②、输入 yum -y install mysql-community-server命令重新安装服务(图没有截全)
在这里插入图片描述

4, 启动mysql
centos 版本过低的话可能没有 systemctl 命令

systemctl start mysqld
# 或
service mysqld start

在这里插入图片描述
mysqld 服务相关命令

systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld
systemctl status mysqld

5 查看是否启动成功

systemctl status mysqld 出现如下表示启动成功
在这里插入图片描述

6 、查看MySQL版本号

mysql -V 大写V
在这里插入图片描述

7、查看MySQL初始密码

grep "password" /var/log/mysqld.log

在这里插入图片描述
8 、进入数据库

mysql -uroot -p 输入密码的,密码隐式的,看不到,正确输入就行或者将上面保存的初始密码复制进去,如下数据库登陆成功
在这里插入图片描述
9、修改密码
 
① mysql 8.0

ALTER USER 'root'@'localhost' IDENTIFIED BY   'xxxxxx';  

xxxxxx设置密码,有大小写字母数字,MySQL也可以设置密码不区分大小写,想了解的可以去网上找找。
在这里插入图片描述
 
② mysql 5.7

alter user'root'@'localhost' identified with mysql_native_password by 'xxxxxx';

在这里插入图片描述
解决密码策略办法

如果你密码已经改乱了,进不去mysql, 在 /etc/my.cnf 文件最后加入skip-grant-tables,跳过数据库权限验证,systemctl restart mysqld 重启服务,无需密码进入 mysql
 
 ① 、mysql 8.0 查看密码策略并加以修改

update user set authentication_string='' where user='root';  # 必须执行,否则提示需要重置密码
flush privileges;
SHOW VARIABLES LIKE 'validate_password%';  # 查看密码策略。 默认 MEDIUM
# set global validate_password.length=4;    # 将密码位数设置为4
set global validate_password.policy=LOW;   # 密码策略修改为LOW,原值为MEDIUM
alter user 'root'@'localhost' identified by '123456';  # 修改成功,不建议设置这莫简单
flush privileges;

②、mysql 5.7

mysql -u root -p
use mysql;
update user set authentication_string = password("xxxxxx") where user="root";
flush privileges;  //刷新系统权限表

在这里插入图片描述
10、 退出登陆,删除 /etc/my.cnf 中的 skip-grant-tables(如果你上面添加的话),systemctl restart mysqld 重启服务,使用修改的密码登陆MySQL
在这里插入图片描述

下面为需要远程登录遇到的一些问题以及解决办法

11、本地访问Linux服务器mysql,以 SQLyog 为例。
注意这块需要开启云服务器端口3306
下面错误参考 https://blog.csdn.net/qq_41538097/article/details/106905416 原因就是,sqlyog 和 mysql 版本密码校验规则不匹配
在这里插入图片描述

填写正确的连接信息,服务器禁止远程连接。错误如图
在这里插入图片描述
连接上服务器MySQL,输入如下图命令打开系统权限表user.
在这里插入图片描述
可以发现权限表 user 中 roo t用户 host 为 localhost
解决方法
① 你可以直接修改当前表中的 user 所对应的 host 为 %,或者新建用户

update user set host ='%' where user='root';

在这里插入图片描述
root用户登录,本地连接成功
在这里插入图片描述

12、 取消远程登录权限

直接修改系统用户 user 表的 host,将需要修改的用户的 host 改为 localhost 或者删除,以root用户为例

 delete user where user='root' and host='%';

在这里插入图片描述
在这里插入图片描述
如图,连接失败,以前在服务器搭建MySQL,也没遇到这么多错误,这次遇到这莫多,顺便做个记录,方便以后安装时再出问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值