运用RPM在centos7中安装MySQL5.7

 

2018年08月06日 11:33:46 一个放牛的小牧童 阅读数 575

 版权声明:本微博由cyikns原创,如需转载,请注明出处 https://blog.csdn.net/m0_38131049/article/details/79865079

写在安装前

  1. 系统环境:Centos 7.3 64位(腾讯云)
  2. 软件版本:mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
  3. 使用工具:xshell 5

1、下载安装文件

官网下载地址:https://downloads.mysql.com/archives/community/

2、新建文件存放下载的文件

创建文件存放文件夹

mkdir /usr/mysql

使用xftp工具将官网下载的rpm文件包上传至自己服务器(注意自己linux版本位数 是32位还是64位 命令:file/bin/ls  

3、解压文件

进入文件所在文件夹,解压文件

tar -xvf  mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

得到如下文件:

4、安装RPM文件

rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm

会出现如下报错

错误表明缺少必要的库文件,使用如下代码进行安装

yum install numactl

等到显示Complete说明安装成功 

接下来继续安装service文件

rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm

显示如下

说明这几个安装文件是有安装顺序的。我们直接安装server 这个rpm 会提示让我们先安装mysql-community-client与mysql-community-common ,

运行rpm -ivh mysql-community-client-5.7…..显示如下

rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm

说明在安装mysql-community-client之前要先安装mysql-community-libs

运行rpm -ivh mysql-community-libs-5.7…..显示如下

rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm

这个会提示我们安装mysql-community-libs -5.7这个rpm ,ok 我们就根据他说的 安装mysql-community-libs -5.7 这个rpm 然而会显示如上错误。第一行这个问题大家举一反三就知道libs 这个rpm要依赖于mysql-community-common这个。但是第二行mariadb-libs 这个问题,另我很迷惑开始我以为这个也是缺少底层库支持。然而百度后才知道centos7使用mariadb这个来替换mysql。既然这样那我只好干掉你了。

运行 rpm -qa | grep mariadb 显示如下

rpm -qa | grep mariadb

果然centos7 自带这个。与mysql差生冲突。运行如下命令

rpm -e mariadb-libs-5.5.52-1.el7.x86_64 //普通删除模式

报错

在运行强制删除命令

rpm -ev --nodeps mariadb-libs-5.5.52-1.el7.x86_64

强制删除成功,再次运行rpm -qa | grep mariadb 显示如下 之前的maridb库没有了

接下来 依次安装common->libs->client->server 如图所示

rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm

到了这步mysql 就已经安装完成。 如果大家能认真看懂上面,举一反三。安装mysql应该没问题。

总结: 1.查看是否缺少库文件支持

   2.mysql 文件安装顺序

查看安装的数据库版本

mysql -V

5、启动MySQL数据库

使用一下命令启动数据库

systemctl start mysqld

使用以下命令检查MySQL服务器的状态

systemctl status mysqld

MySQL 5.7版本中加入了密码验证机制。 validate-password 是默认安装的。实施的默认密码策略validate-password要求密码至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符,并且总密码长度至少为8个字符。

超级用户的密码被设置并存储在错误日志文件中。要显示它,请使用以下命令:

grep 'temporary password' /var/log/mysqld.log

通过使用生成的临时密码登录并尽快更改root密码并为超级用户帐户设置自定义密码:

mysql -uroot -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

查看系统自带的数据库

show databases;

创建新的数据库

create database 数据库名称 character set utf8;

创建数据库新用户

create user 用户名 identified by '密码';

授权数据库给新建用户

grant all on 数据库.* to 用户名;
grant 权限 privileges on 数据库.* to 用户名@登录主机 identified by '密码';

数据库授权(转载)

1、新建用户

创建test用户,密码是1234。

MySQL -u root -p 
CREATE USER 'test'@'localhost'  IDENTIFIED BY '1234'; #本地登录 
CREATE USER 'test'@'%'  IDENTIFIED BY '1234'; #远程登录 
quit 
mysql -utest -p #测试是否创建成功

2、为用户授权

a.授权格式: grant 权限 on 数据库.* to 用户名@登录主机 identified by '密码'; 

b.登录MYSQL,这里以ROOT身份登录:

mysql -u root -p

c.为用户创建一个数据库(testDB):

create database testDB; 
create database testDB default charset utf8 collate utf8_general_ci;

d.授权test用户拥有testDB数据库的所有权限:

grant all privileges on testDB.* to “test”@”localhost” identified by “1234”; 
flush privileges; #刷新系统权限表

e.指定部分权限给用户:

grant select,update on testDB.* to “test”@”localhost” identified by “1234”; 
flush privileges; #刷新系统权限表

f.授权test用户拥有所有数据库的某些权限:  

grant select,delete,update,create,drop on . to test@”%” identified by “1234”; #”%” 表示对所有非本地主机授权,不包括localhost

3、删除用户

mysql -u root -p 
Delete FROM mysql.user Where User=”test” and Host=”localhost”; 
flush privileges; 
drop database testDB;

删除账户及权限:

drop user 用户名@’%’; 
drop user 用户名@ localhost;

4、修改指定用户密码

mysql -u root -p 
update mysql.user set authentication_string=password(“新密码”) where User=”test” and Host=”localhost”; 
flush privileges;

参考文章:
https://blog.csdn.net/u013471169/article/details/62884084
https://blog.csdn.net/w690333243/article/details/76576952
https://blog.csdn.net/soha_dong/article/details/79679423

猜你喜欢

转载自blog.csdn.net/LUCKWXF/article/details/91975039