centos7下安装mysql全过程

 更新时间:2023年05月30日 09:57:36   作者:独行侠_阿涛  
这篇文章主要介绍了centos7下安装mysql全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

今天作者随机尝试了一下centos7安装mysql。T_T,心路历程。。。。

这么重要的东西,不能动不动就是卧槽...之类来结尾,应该是:请看下面分享。

mysql安装

mysql安装方式很多,原本吧,想要自己下载安装包,通过ftp方式拷贝到虚拟机,但是呢,最近用yum用的很有心得,觉得简单,方便,虽说安装过程的软件目录乱七八糟,我们都不知道啥是啥,但是通过find命令还是能够统统找出来。

yum方式安装

安装mysql客户端

yum install mysql

安装mysql服务器端

yum install mysql-server

报错:

没有可用软件包 mysql-server

这个是因为本地没有相应的mysql yum仓库。需要添加。

下载MySQL Yum仓库的RPM安装包

添加rmp安装包

linux下的rpm文件是什么东西?
rpm文件是linux中一种常见的软件安装包的格式。
rpm命令是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”
用来安装rpm文件 
二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。
常用命令组合:
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包

访问:

http://dev.mysql.com/downloads/repo/yum/ 

找到:

选择对应的rpm(centos7就是linux7):

mysql57-community-release-el7-11.noarch.rpm

下载:可以直接下载上传,也可以通过wget方式下载下来:

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

下载好之后,查看下当前目录是否有这个rpm安装包:

补充:

ls -ltr:
对输出文件进行各种排序;
按照字符序(default): #ls -l
按照修改时间排序: #ls -t  //最近修改在最上面
逆排序         : #ls -r

安装rpm安装包

yum localinstall mysql57-community-release-el7-11.noarch.rpm

安装完成后会将MySQL的Yum仓库添加到系统的仓库list中,可以/etc/yum.repos.d目录下看到新增的两个文件(mysql-community.repo和mysql-community-source.repo)。

检查MySQL Yum仓库是否被添加成功。

准备工作over。下面可以正式开始安装mysql了。

安装mysql

有了mysql的yum仓库之后,只要运行:

yum install mysql-community-server

安装完毕,就可以直接启动mysql并且查看mysql的状态:

之前安装ngxin的时候就说过了,通过yum安装的软件,都会自动帮我们把软件的启停添加到服务里头,服务的文件地址在:/usr/lib/systemd/system/mysqld.service。

mysql也例外:

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

提示:很多地方都说安装完成之后会有一个root用户的随机密码(路径:/var/log/mysqld.log),网友提供的截图:

但是,很不幸,我没有找到。

于是直接就是修改密码。

忘记密码修改密码(实质添加临时密码)

屏蔽安全验证

1、vi /etc/my.cnf

2、找到:

datadir=/var/lib/mysql   
socket=/var/lib/mysql/mysql.sock

在下面添加:

skip-grant-tables

3、保存退出

linux mysql登入:

mysql -u root

修改密码

update user set authentication_string = password('root') where user = 'root';

补充:新版的mysql(5.7之后)的user表是没有password字段的,取而代之的是authentication_string.

修改密码之后,刷新权限

flush privileges

取消屏蔽安全校验

把之前的屏蔽安全验证的内容删除

vi /etc/my.cnf

mysql登入

重启mysql服务:

service mysqld restart

带密码登入mysql:

mysql -u root -p

输入密码:root

登入成功。

mysql使用

mysql>show databases;

发现报错了:

You must reset your password using ALTER USER statement before executing this statement

==20180322补充:通过上述方式修改密码,就跟我们安装mysql的时候它提供给我们的临时密码一样,登入之后就必须马上修改,不然就会报错--官方解释

真是奔溃啊,fuck。

修改临时密码

查询众多地方找到了解决方案:

alter user 'root'@'localhost' identified by '123456789';

执行报错:

Your password does not satisfy the current policy requirements

fuck again。

修改密码策略

查询众多地方找到解决方案:

修改密码安全策略:validate_password_policy

set global validate_password_policy=0;

上述是比较暴力的,直接将策略调整为只校验密码长度。详细可以查看: 密码策略

重新设置后就可以了如下:

远程连接mysql

通过navicat连接报错:

host 172.18.160 is not allowed to connect to this mysql server

没脾气了,半天过去了。

查询很多地方之后发现是mysql的连接策略导致的:

最暴力的方式,直接设置root用户所有ip都能访问:

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

记住:设置之后必须重启mysql服务,设置才能生效。

恭喜你,至此,mysql你可以直接用了。

补充:

问题:

Your password has expired. To log in you must change it using a client that supports expired passwords

解决:重新设置密码

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL 搭建主从同步实现操作

    MySQL 搭建主从同步实现操作

    这篇文章主要介绍了MySQL 中的主从同步实现操作,文章围绕如何搭建主从同步详细展开内容,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • Mysql排序和分页(order by&limit)及存在的坑

    Mysql排序和分页(order by&limit)及存在的坑

    这篇文章主要介绍了Mysql排序和分页(order by&limit)及存在的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 一文了解MySQL的四大子查询

    一文了解MySQL的四大子查询

    本文主要介绍了一文了解MySQL的四大子查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • mysql8.4 gtid主从同步的实现步骤

    mysql8.4 gtid主从同步的实现步骤

    本文主要介绍了mysql8.4 gtid主从同步的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-03-03
  • MySQL中MAX()和MIN()函数的高效使用及技巧

    MySQL中MAX()和MIN()函数的高效使用及技巧

    在SQL数据库中,最大/最小值函数—MAX()/MIN()是经常要用到的,下面这篇文章主要给大家介绍了关于MySQL中MAX()和MIN()函数的高效使用及技巧的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • MYSQL大小写不敏感导致用户登录异常问题

    MYSQL大小写不敏感导致用户登录异常问题

    这篇文章主要介绍了MYSQL大小写不敏感导致用户登录异常问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • mysql 数据类型转换的实现

    mysql 数据类型转换的实现

    这篇文章主要介绍了mysql 数据类型转换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • mysql的判断语句方式

    mysql的判断语句方式

    本文详细介绍了SQL中的条件判断(if...else...elseif...)、循环控制(while、repeat、loop)以及它们的使用方法和案例,涵盖了SQL编程中的基本控制结构,对初学者和已有一定基础的开发者都具有一定的参考价值
    2025-12-12
  • mysql怎么设置最大连接数详解

    mysql怎么设置最大连接数详解

    这篇文章主要给大家介绍了关于mysql怎么设置最大连接数的相关资料,设置mysql最大连接数的方法,首先打开mysql的控制台,然后输入语句set GLOBAL max_connections=1000;即可直接设置最大连接数,需要的朋友可以参考下
    2022-02-02
  • mysql 8.0.15 winx64解压版图文安装教程

    mysql 8.0.15 winx64解压版图文安装教程

    这篇文章主要为大家详细介绍了mysql 8.0.15 winx64解压版图文安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05

最新评论