一 .概述
现在主流的版本之中,我们一般会使用mysql的5.5版本和5.7版本,当然现在也出现了8的版本,但是现在企业之中使用最多的就是之前的两个稳定的版本.
本次,我们使用mysql的5.7的版本完成所有的操作.
二 .mysql的安装
本次使用的rpm包的方式进行软件的安装,我们首先需要到网站上下载5.7对应的软件包.
https://dev.mysql.com/downloads/mysql/
在这里我们选择使用对应的5.7的版本,需要下载两个软件包,一个是mysql的server包,一个就是mysql的client包.
当下载完成之后,我们会得到下面的两个软件包.
我们首先需要将这两个软件包上传到我们的服务器上面.我们一般将第三方的软件包都放在 /opt目录下面.
[1] 首先卸载掉自带的mysql软件
在centos7的版本之中,默认的就存在一个mysql的分支数据库,如果我们不首先删除掉这个数据库的话,我们在安装的时候就可能出现问题.
我们使用rpm -e --nodeps 软件包的名称就可以删除掉之前安装的软件了,我们再次查看情况.
现在发现之前内置的maliyadb被删除掉了.
同时我们再次查询mysql是否已经安装过,发现现在是没有安装过的.
[2] 安装的时候需要的依赖
perl的依赖,我们使用yum install 安装perl的依赖内容.
net-tools被依赖需要:我们执行yum install net-tools进行安装.
在安装的过程之后,我们会发现很多的依赖都是需要的,我们安装提示进行安装就好了.
我们安装后要求一次添加所需要的依赖,将所有的安装包进行安装.
当我们安装好了之后,我们需要进行软件完成之后的一个校验:
如果出现上述的内容,就说明我们的软件已经安装完成.
[3] mysql的配置问题
启动mysql,在mysql5.7的版本之中变成了mysql的命令.
当我们完成安装之后,我们需要给我们的mysql设置一个密码.
一. 首先到mysql 的网站上载 mysql rpm包的合集
我们选择免费的社区版
下载完成之后解压 里面有很多mysql 的包,这们主要安装下面划红线的四个包就可以了,安装 的顺序也标出了
注意:
在centos7下 rpm 安装以上包会报错,其报错信息如图
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package
rpm -qa | grep mariadb
强制卸载 mariadb 软件包
完成之后就可以安装了,在安装 mysql-server 服务端的时候又有报错
这时就 yum install -y net-tools
再进得安装就好了
安装完成后可以 在 /etc/my.cnf (mysql的配置文件) /usr/bin /usr/sbin/ 中有相应的命令 数据库在 / var/lib/mysql 中,在my.cnf 可以查看到
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
此时mysql安装完成,但是没有用户名和密码,登录不了客户端,有很多做法,我的做法是这样的
1。首先,vim /etc/my.cnf 文件,在文件的最后一行,添加一句话 skip-grant-tables //这样就可以让mysql 跳过检验密码的步骤
2 。开启mysql 服务端 service mysqld start //
3 . 登录mysql的客户端 mysql -u root -p 回车 不用输入密码,就进入了客户端
此是就可以把 mysql 数据库中的 user表中的 root 用户的记录更改一下,密码
这里要注意用户的密码字段不 是 password ,表中根本没有这个字段 应该是
修改的语句是
use mysql
update user set authentication_string = PASSWORD(‘123456‘) password_expired = ‘N‘ where user =‘root‘
修改完成后,退出
再把 my.cnf 中最后添加的那句话删除掉
重启mysqld
客户端登录 输入刚才的密码 就ok了
在这里,可能会出现下面的问题:
[1] 远程访问的问题:
grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘ with grant option;
flush privileges;
[2]密码的问题:
set
global
validate_password_policy=0; 设置密码需要采取的策略,0代表为长度策略.
set
global
validate_password_length=1; 设置密码最少为1位长度.
原文地址:https://www.cnblogs.com/trekxu/p/10628649.html