为了账号安全,请及时绑定邮箱和手机立即绑定

Linux 安装 MySql 5.7 [菜鸟版]

标签:
MySQL

写于20210228 北京望京,文末win10安装MySQL5.7

@[toc]

安装mysql

1.创建存放安装包的位置,并且进入该目录

命令mkdir /share

命令cd /share
在这里插入图片描述

2.查看系统是否已经安装mysql,两种方法都可以

方法一:rpm -qa | grep mysql
方法二:yum list installed | grep mysql
3.如果存在,则移除以前的mysql

命令yum -y remove mysql-libs.x86_64

3.下载安装包

提示wget 命令未找到,所以通过命令yum -y install wget安装依赖插件,插件安装完成后,重新执行命令wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm即可

4.安装 mysql57-community-release-el7-8.noarch.rpm:

在这里插入图片描述

5.安装 MySQL

命令yum install mysql-server

在这里插入图片描述

安装完后,启动mysql服务

命令systemctl start mysqld

在这里插入图片描述

查询出安装生成的默认密码,并复制下来

命令 grep “password” /var/log/mysqld.log

在这里插入图片描述

命令mysql -u root -p

在这里插入图片描述

输入刚刚拷贝的默认密码,并回车进入mysql>服务

设置新密码为root

在这里插入图片描述

这里提示我的密码不能满足要求,这里我们可以修改下密码的限制

命令set global validate_password_policy=0;

设置密码不限制字符类型

在这里插入图片描述

命令set global validate_password_length=1;

设置密码不限制位数

在这里插入图片描述

ok,现在就可以重新设置新密码了,我这里设置的是root

在这里插入图片描述

设置root账户密码不过期

命令ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;

在这里插入图片描述

刷新权限

命令flush privileges;

在这里插入图片描述

设置用户 root 可以在任意 IP 下被访问:

命令grant all privileges on . to root@"%" identified by “root”;

在这里插入图片描述

设置用户 root 可以在本地被访问:

命令grant all privileges on . to root@“localhost” identified by “new password”;

在这里插入图片描述

刷新权限生效

在这里插入图片描述

退出

在这里插入图片描述

6.防火墙开通端口

在这里插入图片描述

如果80端口没添加,也要添加一下,我的机器已经是添加的了

重启防火墙

在这里插入图片描述

然后通过navicat工具连接数据库即可

改密码

1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:

#vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)

在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
在这里插入图片描述
保存文档并退出

2.接下来我们需要重启MySQL:

/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)

在这里插入图片描述
3.重启之后输入mysql即可进入mysql。

在这里插入图片描述

4.接下来就是用sql来修改root的密码

进入到终端当中,敲入 mysql -u root -p 命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中
mysql> update user set password=password(“你的新密码”) where user=“root”;
mysql> flush privileges;
mysql> quit

注意:如果在执行该步骤的时候出现ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 错误。则执行下 flush privileges 命令,再执行该命令即可。

到这里root账户就已经重置成新的密码了。

5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!

网上有很多关于这个问题的解决说明,很多刚接触的朋友可能比较迷惑的是在自己的平台上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:
在这里插入图片描述

至于windows平台,去安装目录下找一下my.ini吧。

ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’

本意向修改一个用户的密码,网上搜到的命令为如下:

mysql> update user set password=password(“新密码”) where user=”用户名”;

执行后报错  ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’

错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

所以请使用一下命令:

>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.18-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql;
Database changed
mysql> select User from user;  #此处为查询用户命令
+-----------+
| User      |
+-----------+
| *******  |
| mysql.sys |
| root      |
+-----------+
3 rows in set (0.00 sec)

mysql> update user set password=password("*******") where user="*******";  #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update mysql.user set authentication_string=password('*******') where user='*******';  #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;  #立即生效
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
…………………………
mysql>

既然看到这里,要不要做到BAT面试题

推荐文章

今年不论对于国家还是我们个人都是决胜之年,特此安排 2021 JavaPub版 面试题及题解详细参考(全网搜:JavaPub版),包括:

基础,JVM,容器,多线程,反射,异常,网络,对象拷贝,JavaWeb,设计模式,Spring-Spring MVC,Spring Boot / Spring Cloud,Mybatis / Hibernate,Kafka,RocketMQ,Zookeeper,MySQL,Redis,Elasticsearch,Lucene。订阅不迷路,2021奥利给。

做一道BAT面试题

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
16
获赞与收藏
36

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消