Linux安装mysql各种错误

您所在的位置:网站首页 dnf常见问题解决 Linux安装mysql各种错误

Linux安装mysql各种错误

2023-11-15 07:03| 来源: 网络整理| 查看: 265

前言

服务器搭建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,也没遇到这么多错误,这次遇到这莫多,顺便做个记录,方便以后安装时再出问题。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3