文档章节

CentOS7安装MySQL5.7 rpm以上说明

小致Daddy
 小致Daddy
发布于 2016/08/21 21:46
字数 1874
阅读 229
收藏 0

1.卸载冲突

卸载mysql

执行rpm –qa|grep -i mysql查看是否存在旧版的mysql,若存在,则可以使用以下命令依次删除

rpm –e mysql-community-*

查看是否存在残余垃圾

whereis mysql

执行以下命令删除

rm -rf /var/lib/mysql

卸载mariadb

rpm -qa | grep mariadb
#显示如下:
mariadb-libs-5.5.50-1.el7_2.x86_64 
mariadb-5.5.50-1.el7_2.x86_64 
mariadb-server-5.5.50-1.el7_2.x86_64 

卸载

rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64

此时报错:

error: Failed dependencies:
    libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
    libmysqlclient.so.18()(64bit) is needed by (installed) perl-DBD-MySQL-4.023-5.el7.x86_64
    libmysqlclient.so.18()(64bit) is needed by (installed) php-mysql-5.4.16-36.3.el7_2.x86_64
    libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
    libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) perl-DBD-MySQL-4.023-5.el7.x86_64
    libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) php-mysql-5.4.16-36.3.el7_2.x86_64
    mariadb-libs(x86-64) = 1:5.5.50-1.el7_2 is needed by (installed) mariadb-1:5.5.50-1.el7_2.x86_64
    mariadb-libs(x86-64) = 1:5.5.50-1.el7_2 is needed by (installed) mariadb-server-1:5.5.50-1.el7_2.x86_64

强制卸载,因为没有–nodeps

# rpm -e --nodeps mariadb-libs-5.5.50-1.el7_2.x86_64
# rpm -e --nodeps mariadb-5.5.50-1.el7_2.x86_64
# rpm -e --nodeps mariadb-server-5.5.50-1.el7_2.x86_64 

2.下载rpm安装包并解压

地址:http://dev.mysql.com/downloads/mysql/

选择mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar下载到/tmp目录

执行解压

tar -xf mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar

3.安装rpm包

依次安装

依次执行以下命令对上图的四格绿框的rpm进行安装,是依次执行,不要乱了顺序,因为它们之间有依赖关系。:

rpm -ivh mysql-community-common-5.7.14-1.el7.x86_64.rpm

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

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

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

常见错误

错误信息

Linux CenterOs 64位中安装 MySQL-server-5.5.25a-1.rhel5.x86_64.rpm 出现以下错误
[root@localhost upload]# rpm -ivh mysql-server-5.5.25a-1.rhel5.x86_64.rpm
error: Failed dependencies:
    libaio.so.1()(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
    libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
    libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64


从以上错误信息可以看出是因为缺少库libaio,所以需要安装libaio

安装libaio-0.3.107-10.el6.x86_64.rpm

下载地址:
http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
安装完成后,即可成功安装MySQL-server-5.5.25a-1.rhel5.x86_64.rpm
按照上面的方法,安装后之后如果还是存在问题,你可以在文章后面进行留言说明

3.mysql5.7由于对安全做了特殊处理

需要执行以下命令:

在Unix和Unix系列系统中,有一点是很重要的,那就是确保数据库目录与文件的所有者为mysql登录账户,以便在你运行mysqld服务的时候,mysql服务可以对这些目录和文件进行读取与写入操作。如果你是以root身份运行mysqld服务,就需要确认一下,执行如下面显示的包含有--user选项的命令:

mysqld --initialize --user=mysql

不管在哪个平台上,使用--initialize选项就是以“默认安全模式”来进行安装的(即包含一个随机的root初始密码的生成)。在这种情况下,密码是被标志为过期的,你需要选择一个新的密码。

我是以root身份登录Linux系统的,并且我想为root账户生成一个随机的初始密码,所以我要执行命令:mysqld --initialize --user=mysql;这样就完成了对MySQL的初始化,并为root账户生成了一个随机的初始密码。

4.查看随机密码

vim /var/log/mysqld.log

5.启动服务

systemctl start mysqld

我们来看下mysqld是否已经启动了,执行命令:

systemctl status mysqld

如果看到的和下图一样,就说明已经启动了:

我们来对上一步作个补充,因为你也有可能会遇到。如果你在执行命令:

systemctl start mysqld时,出现了和下图一样的提示:

Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.

出现这样的错误提示,我们先查看一下/var/lib/mysql-files目录是否存在

执行命令:

ls -ld /var/lib/mysql-files

如果不显示任何信息就表示不存在

执行命令:

mkdir /var/lib/mysql-files

创建/var/lib/mysql-files目录。

这时,我们试着执行命令:

systemctl start mysqld

如果还出现和下图一样的提示,我们执行另一条命令:chown -R mysql:mysql /var/lib/mysql,将/var/lib/mysql目录及其下所有文件和子目录的所有者和所属组都改为mysql。

我们再执行一下:systemctl start mysqld应该就可以启动mysqld服务了。

6.登录mysql并修改初始密码

执行命令:mysql -u root -p 并输入之前的随机密码

特别说明:(如果密码一致不正确,则可以不修改my.cnf配置文件进行不验证密码登录)

除此登录时必须要修改密码的,不修改密码是不能进行任何操作的。会提示如下信息:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

执行

alter user 'root'@'localhost' identified by 'mYsqL$%123';

就将root账户的密码修改为mYsqL$%123了。

有一点需要注意,MySQL对用户密码安全性有所加强,所以设置的密码必须包含有数字,大写字母,小写字母,特殊符号,如果你设置的密码过于简单,会提示:

ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

7.密码长度特别验证修改

对于初次登录系统进行密码修改,必须要修改为严格模式,如果密码国语简单,则会提示下面错误:

mysql> ALTER USER USER() IDENTIFIED BY 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个其实与validate_password_policy的值有关。

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

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 8 |
+----------------------------+
1 row in set (0.00 sec)

validate_password_length参数默认为8,它有最小值的限制,最小值为:

validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密码中数据的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。

这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。如下所示:

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 8 |
+----------------------------+
1 row in set (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 4 |
+----------------------------+
1 row in set (0.00 sec)

按照以上操作之后,我们就可以将密码修改为简单模式了。

© 著作权归作者所有

小致Daddy

小致Daddy

粉丝 182
博文 553
码字总数 592128
作品 0
济南
技术主管
私信 提问
MySQL 安装配置 CentOS7_安装MySQL5.7

MySQL5.7RPM安装 本安装对应的OS为安装时默认最小软件包选择。 检查操作系统版本号 官网下载对应的版本(默认社区下载最新发布版本,可在Archives页面下载之前的小版本) 官网RPM安装参考文档...

PeakFang-BOK
2018/11/15
56
0
CentOS6.5下MySQL5.6升级到MySQL5.7

公司之前用的MySQL是5.6的,因为工作需要,需要将5.6.10升级到5.7.17版本。 之前安装的MySQL5.6,是通过rpm包的形式安装的。 下边开始升级的步骤: 1、下载MySQL5.7 下载地址:http://dev.my...

Adairs
2017/01/20
376
0
CentOS7安装MySQL5.7

记录CentOS7下安装MySQL5.7数据库 设置rpm下载目录在/opt目录下新建一个目录存放mysql  下载MySQL的源  如果在这之前没有提示-bash: wget: command not found,那么还得先安装wget  安装M...

u011582757
2018/04/02
0
0
mysql5.7在centos上安装的完整教程以及相关的“坑”

安装前的准备 Step1: 如果你系统已经有mysql,如一般centos自带mysql5.1系列,那么你需要删除它,先检查一下系统是否自带mysql yum list installed | grep mysql Step2: 删除系统自带的mysql...

lifetragedy
2016/11/25
0
0
再谈centOS7.2 LAMP源码安装及注意要点

之前在另一篇文章里介绍过《centOS7 LAMP安装及注意要点》,用的是yum自带安装。 一个朋友在阿里云上买了ECS云主机,选择是最新的centos7.2 64位操作系统,帮忙配置一下环境。在这里做一下记...

lock-li
2016/09/01
566
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊Tomcat中的连接器(Connector)

上期回顾 上一篇文章《Tomcat在SpringBoot中是如何启动的》从main方法启动说起,窥探了SpringBoot是如何启动Tomcat的,在分析Tomcat中我们重点提到了,Tomcat主要包括2个组件,连接器(Conne...

木木匠
32分钟前
1
0
OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
1K
19
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
28
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部