Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > centos7安装mysql

centos7下安装mysql全过程

作者:独行侠_阿涛

这篇文章主要介绍了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也例外:

提示:很多地方都说安装完成之后会有一个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

解决:重新设置密码

总结

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

您可能感兴趣的文章:
阅读全文