CentOS 7 x64下安装MySql5.7图文详解

前端之家收集整理的这篇文章主要介绍了CentOS 7 x64下安装MySql5.7图文详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

参考:
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
http://www.jianshu.com/p/7cccdaa2d177
http://www.linuxidc.com/Linux/2016-09/135288.htm

最近搞了台阿里云服务器,搭载的是CentOS 7系统,这里记录下MysqL5.7的安装流程

查看CentOS 7下的所以目录

参考:
https://teakki.com/p/57dbbbc59128129803f3aa47
http://blog.csdn.net/longxu0872/article/details/71168340
执行命令cd /,跳转到根目录,再执行ls -l命令:


/boot:系统引导文件,内核
/bin:用户的基本命令
/dev:设备文件
/etc:配置文件
/home:用户家目录
/root:root用户家目录
/sbin:管理类的基本命令
/tmp:临时文件存放地
/usr:共享的只读数据
/mnt:临时文件系统挂载点
/media:移动设备挂载点
/opt:第三方应用程序的安装位置
/srv:系统运行的服务用到的数据
/var:变化的数据文件
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等

Uvh作用

linux 安装包的时候使用 Uvh解释
U: 升级
v,h:显示详细信息和安装进度
i:安装
U可以保证同一个包只有一个版本存在,i会安装同一个包的多个版本

rpm介绍

rpm各个部分的意义:rpm包软件名称.主版本号.次版本号.源程序发行号-rpm包的发行号.主机平台.cup架构
例如:glibc-common-2.6.32-358.el6.i386

el5 和 el6 是RedHat Linux的两个版本,EL = Enterprise Linux
这个rpm包名里面包含el6,应该指示这个glibc的包适用于RedHat EL6的版本
CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,所以这个rpm应该可以用于centos

使用 uname -a命令可以查看el版本(uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)

uname -a

查看出当前CentOS 7 主机平台为el7版本

wget命令

wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

来自: http://man.linuxde.net/wget

查看MysqL Yum存储库

MysqL Yum存储库提供用于在Linux平台上安装MysqL服务器,客户端和其他组件的RPM(RPM软件包管理器)软件包。这些软件包还可以升级和替换从Linux发行版本的本机软件仓库安装的任何第三方MysqL软件包。

MysqL官网中下载Yum源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

这里知道选什么了吧,当然是el7啦(MysqL57-community-release-el7-11.noarch.rpm)

A Quick Guide to Using the MySQL Yum Repository(使用MySQL Yum存储库的快速指南)

MysqL安装步骤

1.添加MysqL Yum存储库

a.转到MysqL Yum存储库的下载页面

网址为 http://dev.mysql.com/downloads/repo/yum/

b.选择并下载您的平台的发行包

使用以下命令下载:

shell> wget  https://dev.MysqL.com/get/MysqL57-community-release-el7-11.noarch.rpm

下载已经完成,我们使用ls -l查看下当前目录

c.使用以下命令安装下载的发行包

例如,对于基于EL7的系统的版本,命令是:

shell> sudo rpm -Uvh MysqL57-community-release-el7-11.noarch.rpm

2.选择版本系列

shell> more /etc/yum.repos.d/MysqL-community.repo

查看文件,可以看到当前准备安装的是5.7版本

3.安装MysqL

通过以下命令安装MysqL

shell> sudo yum install MysqL-community-server

4.启动MysqL服务器

a.使用以下命令启动MysqL服务器

基于EL7的平台,这是首选命令:

shell> sudo systemctl start MysqLd.service

b.使用以下命令检查MysqL服务器的状态:

基于EL7的平台,这是首选命令:

shell> sudo systemctl status MysqLd.service

使用root登录MysqL

问题:

[root@xxx /]# MysqL -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决方案:

在安装MysqL的时候,会随机生成root的密码, 记得要看安装log文件

[root@xxx /]# cat /var/log/MysqLd.log |grep password
2017-11-02T02:55:12.307984Z 1 [Note] A temporary password is generated for root@localhost:,>HZ*d7yP+5W
2017-11-02T03:01:15.789598Z 3 [Note] Access denied for user 'root'@'localhost' (using password: YES)
2017-11-02T03:01:42.172342Z 4 [Note] Access denied for user 'root'@'localhost' (using password: YES)
2017-11-02T03:01:59.269867Z 5 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2017-11-02T04:23:39.602270Z 6 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2017-11-02T04:25:01.125469Z 7 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2017-11-02T04:25:54.567185Z 8 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2017-11-02T04:29:56.571195Z 9 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2017-11-02T04:34:50.933040Z 10 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2017-11-02T04:35:22.433484Z 11 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2017-11-02T04:37:29.847188Z 0 [Note] Shutting down plugin 'validate_password'
2017-11-02T04:37:31.560031Z 0 [Note] Shutting down plugin 'sha256_password'
2017-11-02T04:37:31.560033Z 0 [Note] Shutting down plugin 'MysqL_native_password'
[root@xxx /]# 

可以看到随机生成的密码是,>HZ*d7yP+5W
使用命令MysqL -u root -p,之后 输入密码即可

你必须重新设置密码才能执行语句

MysqL> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

1、修改/etc/my.cnf,在 [MysqLd] 小节下添加一行:skip-grant-tables=1(这一行配置让 MysqLd 启动时不对密码进行验证
)
2、重启MysqLd 服务:systemctl restart MysqLd
3、使用 root 用户登录MysqLMysqL -uroot
4、切换到MysqL数据库,更新 user 表:
use MysqL
update user set authentication_string = password(‘123456’),password_expired = ‘N’,password_last_changed = now() where user = ‘root’;
5、退出 MysqL,编辑 /etc/my.cnf 文件删除 skip-grant-tables=1的内容
6、重启MysqLd 服务,再用新密码登录即可

MysqL -uroot -p

在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

修改编码

参考 :http://www.jb51.cc/article/p-xtcnstum-bpq.html
在 /etc/my.cnf 中设置默认的编码

创建数据库用户

CREATE DATABASE <datebasename> CHARACTER SET utf8;
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
GRANT privileges ON databasename.tablename TO 'username'@'host';
SHOW GRANTS FOR 'username'@'host';
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
DROP USER 'username'@'host';

待续…

猜你在找的CentOS相关文章