> 数据库 > MySQL >

Centos7下使用RPM方式安装Mysql5.7.12

简介

本博文是本人经过学习后,在centos7下进行实践安装部署,以前并没有在Centos下安装过MySQL,都是使用图形界面方式安装,而现在经过学习和摸索后,将整个安装过程记录下来,以便提供给大家参考,减少学习的弯路,如有错误,请指出。

 

1.安装准备

系统环境:Centos7.2-redhat release7.2

mysql安装包:Mysql-Community-Server.5.7.12.rpm

下载Mysql安装包地址:http://dev.mysql.com/downloads/file/?id=465215

2.下载依赖软件包

安装依赖包:

1.yum install perl

2.Yum install net-tools


3.解压Mysql安装包

3.上传mysql安装包到服务器后,需要对文件进行解压。


4.安装Mysql时先安装其他依赖包

4.安装 rpm -ivhmysql-community-server-5.7.12-1.el7.x86_64.rpm,提示依赖其他的安装包。



5.安装Mysql依赖包出现mariadb-libs冲突

5.安装依赖安装包时,提示mariadb-libs过期。



6.卸载mariadb-libs软件包 

6.提示mariadb-libs过期,可将其卸载。



 

7.找出mariadb-libs后,输入yum remove mariadb-libs-5.5.47-1.el7_2.x86_64进行卸载mariadb-libs时,输入y就可以卸载。



7.安装Mysql过程

8.安装rpm-ivh  mysql-community-common-5.7.12-1.el7.x86_64.rpm

9.安装rpm -ivhmysql-community-libs-5.7.12-1.el7.x86_64.rpm

10.安装rpm-ivh mysql-community-client-5.7.12-1.el7.x86_64.rpm

.
11.安装rpm -ivhmysql-community-server-5.7.12-1.el7.x86_64.rpm

12.安装成功后,检查安装mysql



8.启动Mysql服务

输入systemctl status mysqld查看mysql的服务状态,如果没有启动就输入systemctl start mysqld启动mysql服务器。



9.重置Mysql密码


9.1. 查看mysql初始化root的临时密码

安装数据库成功后,mysql中会有一个初始化的临时登录密码,在使用grep 'temporary password' /var/log/mysqld.log命令查看初始化密码,显示T3iKt6HjR*4M。


9.2. 使用临时密码登录mysql

输入mysql -u root -p命令后,显示输入密码提示,然后输入密码T3iKt6HjR*4M,最后按Enter键。

显示登录mysql成功。


9.3.重置mysql初始化的临时登录密码

在命令行中输入show databases;命令后,也没显示重置临时密码,输入其他命令也出现该问题。

 

输入quit命令退出数据库后,输入cd /bin命令进行到bin目录下。

 

输入mysqladmin -u root -p password命令后,显示密码提示,输入数据库的初始化的临时密码T3iKt6HjR*4M后,显示输入新密码和确认密码。

 

输入确认密码后,显示不能满足当前的规则需求。

 

重新再次登录数据库后,输入set global validate_password_policy=0;修改密码规则等级,该等级是最低等级。

修改密码规则等级成功。判断密码的标准就基于密码的长度了。这个由

validate_password_length参数来决定,密码长度至少8位字符。

 

重新使用cd /bin命令进入到bin目录下输入mysqladmin -u root -p password

输入初始化临时密码后,提示输入信息密码,新密码的规则在前面已经设置。最少8位字符。那么我们输入root123456后,就显示成功。

 

再次进行登录后,输入新的root123456密码后,可以登录数据库成功。

10.Mysql远程登录

修改远程Mysql的权限,登录数据库后,输入usemysql;

 

进入mysql数据库后,再输入

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

 

再次输入flush privileges; 按Enter键盘后,显示成功过。

在另外一台客户短必须要安装

rpm -ivh mysql-community-client-5.7.12-1.el7.x86_64.rpm安装包,然后,在命令行下输入:mysql -h 192.168.0.132 -P 3306 -u root -proot,显示登录成功。

 

在命令行中输入create database testdb; 后按回车创建数据库成功。

为了确认远程的服务器是否有testdb数据库,可回到远程的数据库查看新建的testdb数据库。


11.难题解决


11.1.强制重置mysql密码

1. vi/etc/my.cnf 编辑文件。

在my.cnf找到[mysqld],在下面添加一行skip-grant-tables

例如:

skip-grant-tables

:wq!  #保存退出

 

Systemctl restart mysqld  #重启MySQL服务

 

2、进入MySQL控制台

mysql -uroot -p   #直接按回车,这时不需要输入root密码。

 

3、修改root密码

update mysql.user setauthentication_string=password('123456') where User="root" andHost="localhost";

flush privileges;  #刷新系统授权表

grant all on *.* to 'root'@'localhost'identified by '123456' with grant option;

 

4、取消/etc/my.cnf中的skip-grant-tables

vi /etc/my.cnf   编辑文件,找到[mysqld],删除skip-grant-tables这一行

:wq!  #保存退出

 

5、重启mysql

Systemctl restart mysqld   #重启mysql,这个时候mysql的root密码已经修改为123456

 

6、进入mysql控制台

mysql -uroot -p  #进入mysql控制台

123456 #输入密码

 

注意:在mysql5.7以后的版本,修改密码的字段不是password而是authentication_string

11.2.查看密码规则等级

登录数据库后,输入select @@validate_password_length;可查看当前的数据库密码规则等级长度,当前的长度为8位字符。

 

Validate_password_policy有以下取值:

Policy

Tests Performed

0 or LOW

Length

1 or MEDIUM

Length; numeric, lowercase/uppercase, and special characters

2 or STRONG

Length; numeric, lowercase/uppercase, and special characters; dictionary file


设置密码验证规格等级。



(责任编辑:IT)