2018年08月06日 11:33:46 一个放牛的小牧童 阅读数 575
版权声明:本微博由cyikns原创,如需转载,请注明出处 https://blog.csdn.net/m0_38131049/article/details/79865079
写在安装前
- 系统环境:Centos 7.3 64位(腾讯云)
- 软件版本:mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
- 使用工具: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