一、卸载MariaDB
CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了mysql相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。
1. 安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载
[root@localhost ~]# rpm -qa | grep -i mariadb
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
如果发现依赖缺陷报错, yum remove mysql-libs
注:详细卸载教程可自行百度,很简单。
二、到mysql的官网下载最新版mysql的rpm集合包
mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
1. 通过xshell的rz命令将mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar上传到Linux系统中。
注:我上传到的路径 /usr/local/tools
2. 通过mkdir命令创建mysql目录,放入解压后的文件,为以后的安装做准备。
3.解压压缩包到mysql目录
四.安装MySQL解压包
注:所有解压包,不一定需要全部安装、注意安装顺序
以下是安装顺序 这几个包由依赖关系。执行有先后其中,client依赖于libs,server依赖于common和client.
rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm // <br>
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm //<br>
rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm<br>
rpm -ivh mysql-community-client-5.7.18-1.el6.x87_64.rpm //客户端安装包 <br>
rpm -ivh mysql-community-server-5.7.18-1.el6.x87_64.rpm //服务端安装包<br>
rpm -ivh mysql-community-devel-5.7.18-1.el7.x87_64.rpm //包含开发用的库头文件安装包<br>
注: i-install安装;v-verbose进度条;h-hash哈希校验;安装过程中可能会出现 perl 环境等问题,按提示百度就行。
五、数据库初始化
1.为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你的linux系统是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
[root@localhost mysql]# mysqld --initialize --user=mysql
如果是以 mysql 身份登录运行,则可以去掉 –user 选项。
注: –initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码
这里演示使用的 –initialize 初始化的,会生成一个 root 账户密码,密码在log文件里,红色区域的就是自动生成的密码
使用 cat /var/log/mysqld.log
命令打开日志文件
六、启动mysql数据库
注:systemctl是Centos7特有的启动方式
systemctl start mysqld.service
七、登录mysql数据库并创建Mysql新密码
1.登录mysql,然后输入日志中的随机密码。
mysql -u root -p;
2.设置你的密码。
set password = password('你的密码');
3.设置授权(远程访问)
grant all privileges on *.* to 'root' @'%' identified by'你的密码';
4.刷新权限
flush privileges;
(转)
/charlie/software/mysql/data是我新建的MySQL目录,修改文件夹权限:sudo chown -R mysql:msyql /charlie/software/mysql/data
修改/etc/my.cnf文件
[mysqld]
character_set_server=utf8
socket=/charlie/software/mysql/data/mysql.sock
datadir=/charlie/software/mysql/data
#socket=/var/lib/mysql/mysql.sock
#datadir=/var/lib/mysql
ln -s /charlie/software/mysql/data/mysql.sock /var/lib/mysql/mysql.sock
执行sudo systemctl start mysqld 会没有反应。然后在/var/log/mysqld.log查看日志,ERR错误会有一个
Can't start server : Bind on unix socket: Permission denied这样子的错误。
执行命令getenforce是不是出现的是Enforcing,如果是的话,执行setenforce 0 临时关闭,就可以启动MySQL。
然后执行sudo /usr/bin/mysql_secure_installation就可以设置了。
如果后面执行mysql相关命令出现:Can’t connect to local MySQL server through socket错误。
编辑/etc/my.cnf文件添加
socket=/charlie/software/mysql/data/mysql.sock
主要还是对Linux不熟悉,找了很久才发现有可能是selinux的原因。
Centos7.3.1611安装mysql5.7.18 rpm教程 并设置datadir的更多相关文章
-
阿里云 Centos7.3安装mysql5.7.18 rpm安装
卸载MariaDB CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包.因为MariaDB和MySQL可能会冲突,故先卸载MariaDB. 1.安装 ...
-
阿里云Centos7使用yum安装MySQL5.6的正确姿势
阿里云Centos7使用yum安装MySQL5.6 阿里云Centos7使用yum安装MySQL5.6 前言:由于某些不可抗力,我要在自己的阿里云服务器上搭建hadoop+hive+mysql+tom ...
-
CentOS7 通过YUM安装MySQL5.7 linux
CentOS7 通过YUM安装MySQL5.7 1.进入到要存放安装包的位置 cd /home/lnmp 2.查看系统中是否已安装 MySQL 服务,以下提供两种方式: rpm -qa | grep ...
-
Linux(CentOS7)下二进制安装MySQL5.7.26
记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...
-
centos7.6自动化安装mysql5.5
一.目的 简化安装mysql的安装过程,局限很大,仅支持centos7.6上安装mysql5.5.60,如果想在其他版本的操作系统安装mysql,请自行修改有关变量. 如果想了解mysql安装的具体过 ...
-
centos系统下安装MySQL5.7.18
1.首先安装依赖包 yum install -y gcc gcc-c++ ncurses-devel perl openssl-devel 最最重要的是,不要忘了安装openssl-devel 2.安 ...
-
CentOS7利用docker安装MySQL5.7
CentOS7利用docker安装MySQL5.7 前提条件 centos7 且内核版本高于3.10, 可通过以下命令查看内核版本 uname -r 利用yum 安装docker 安装一些必要的系统工 ...
-
centos7安装mysql5.7.18笔记
重装了一下系统,装了centos7,但是centos7下默认没有安装mysql,有MariaDB数据库,网上的解释是: “MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用 ...
-
centos7安装mysql5.7(rpm安装版)
1.下载mysql5.7的rpm安装包 rpm的mysql包,安装起来简单,解压版的mysql还需要做许多配置,稍有不慎就会出错!!! 下载地址:https://dev.mysql.com/downl ...
随机推荐
-
linux内存分配
在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序.或是读取刚存取过 ...
-
[ofbiz]设置任务计划(job),提示service_item已经传递
问题描述:设置任务计划(job),提示service_item已经传递 解决办法: 红色框内不要填写,就可以了."已经传递"是翻译的不准确,应该是"已过时",所 ...
-
UVA 11111-Generalized Matrioshkas(栈)
题意:有很多层盒子,盒子里面再套盒子,一个盒子可能套多个独立的子盒子,但子盒子的总体积必须小于该盒子,否则不合法,输入给一行数,负数代表左边,正数代表右边,大小表示其体积,如-2,-1,1,2则表示体 ...
-
Java数组的一些使用方法及堆栈存储
数组 用于存储一组同一数据类型数据的容器 数组会对放入其中的数据自动编号,编号是从0开始的---下标 定义格式 数据类型[] 数组名 = new 数据类型[数组的大小];---可以先声明再初始化 in ...
-
SPU和SKU有什么区别
SPU = Standard Product Unit (标准产品单位)SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.通俗点讲,属性值.特性相同的 ...
-
Light oj 1099 - Not the Best 次短路
题目大意:求次短路. 题目思路:由于可能存在重边的情况所以不能采用邻接矩阵储存图,我用了邻接表来存图. 由起点S到终点E的次短路可能由以下情况组成: 1.S到v点的次短路 + v到E的距离 2.S到v ...
-
Python3 图像边界识别
# -*- coding: utf-8 -*- """ Created on Wed Mar 7 11:04:15 2018 @author: markli " ...
-
Quartz任务调度实践
最近在写一个任务调度程序,需要每隔几秒查询数据库,并取出数据做一些处理操作.使用到了Quartz任务调度框架. 基本概念 Quartz包含几个重要的对象,分别为任务(Job),触发器(Trigger) ...
-
Java Stream File &; IO
摘录自:http://www.runoob.com/java/java-files-io.html Java 流(Stream).文件(File)和IO Java.io包几乎包含了所有操作输入.输出需 ...
-
cmd命令提示符大全(干货)
cmd是command的缩写.即命令提示符(CMD),是在OS / 2 , Windows CE与Windows NT平台为基础的操作系统(包括Windows 2000和XP中, Vista中,和Se ...