一、前言

  由于我使用的是阿里云的服务器,后面会加入配置阿里云的部分,非阿里云的linux系统可以省略后面的步骤,根据自己系统的情况进行配置~

  PS:我安装的是mysql5.7.24的版本,其他版本的MySQL不一定适用此文,仅供参考

二、安装前准备

卸载已经安装的MySQL

#1、检查是否安装过mysql
rpm -qa | grep mysql

#2、若已经安装则运行下面的命令
rpm -e --nodeps 安装的文件

#3、再次检查是否安装过mysql,直至出现下图情况
rpm -qa | grep mysql

删除所有Mysql对应的文件夹

#1、查询mysql相关的文件目录
find / -name mysql

#2、删除相应的目录和文件,多个空格间隔可以一起删除
rm -rf 目录1 目录2 #3、再次检查mysql相关的文件目录是否已经全部删除,直至出现下图情况
find / -name mysql

重新创建MySQL相关的用户和组

#1、先检查mysql用户组和用户是否存在
cat /etc/group | grep 组名 #检查组
cat /etc/passwd |grep 用户名 #检查用户信息

#2、没有时,创建新的MySQL组和用户
groupadd 组名 #创建组
useradd -r -g 组名 用户名 #创建用户【-r指的是创建系统用户,-g指的是给mysql用户分配到mysql组里】

下载安装包

#1、新建一个mysql目录
cd /usr/local #进入目录
mkdir mysql #新建mysql目录
cd mysql #进入新建的mysql目录 #2、用下载工具命令wget来下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

三、正式安装

解压

#1、解压
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

#2、存放好安装包
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql #把解压出来的文件夹改名
mkdir plugins #新建一个目录存放安装包
mv mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz plugins/ #移动安装包到新的目录

创建数据库路径

#3、创建用于存储数据库数据的目录
mkdir /usr/local/mysql/mysql/data

更改mysql目录权限

#4、更改目录的属主和属组【-R表示目录及子目录和文件】
chown -R mysql:mysql /usr/local/mysql #5、更改目录的用户权限
chmod -R 755 /usr/local/mysql

编译并安装

#6、进入mysql的bin目录
cd /usr/local/mysql/mysql/bin #7、编译
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/mysql/data --basedir=/usr/local/mysql/mysql

安装成功后出现下图,红框部分为临时密码:

PS:若编译失败时,尝试以下命令后再编译:

#安装linux的异步I/O接口
yum install libaio-devel.x86_64

#安装numactl工具
yum -y install numactl

四、配置MySQL

更改配置文件

#1、查看my.cnf文件权限【默认为644】
ls -l /etc/my.cnf #2、开放配置文件my.cnf权限
chmod 777 /etc/my.cnf #3、编辑mysql的配置文件my.cnf
vim /etc/my.cnf #4、在my.cnf中输入下面的配置并保存
[mysqld]
basedir=/usr/local/mysql/mysql
datadir=/usr/local/mysql/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1 #5、恢复my.cnf文件权限【默认为644】
chmod 644 /etc/my.cnf

启动MySQL

#启动Mysql服务
/usr/local/mysql/mysql/support-files/mysql.server start

出现下图即安装并启动成功:

五、更便捷地使用MySQL

软连接

  软连接类似于windows的快捷方式:

#创建启动类软连接
ln -s /usr/local/mysql/mysql/support-files/mysql.server /etc/init.d/mysql #创建目录软连接
ln -s /usr/local/mysql/mysql/bin/mysql /usr/bin/mysql #重启MySQL服务
service mysql restart

修改密码

#登录mysql【输入密码为上面步骤的初始密码】
mysql -u root -p #修改密码
set password for root@localhost = password('新密码');

开放远程连接

#打开mysql数据库
use mysql; #开放远程机器链接【相当于改user这个系统表】
update user set user.Host='%' where user.User='root'; #刷新系统权限相关表
flush privileges;

原理解析:实际上是打开了mysql这个数据库,然后修改了user这个表的一条记录:

命令执行结果:

设置开机自动启动

#将服务文件拷贝到init.d下,并重命名为mysqld
cp /usr/local/mysql/mysql/support-files/mysql.server /etc/init.d/mysqld #赋予可执行权限
chmod +x /etc/init.d/mysqld #添加服务
chkconfig --add mysqld #显示服务列表
chkconfig --list

六、开放阿里云安全组【非阿里云搭建的同学选看】

   在服务器控制台找到如下路径:

  • 网络与安全--安全组--配置规则--添加安全组规则

  配置完成后保存,并重启实例,就可以使用数据库可视化工具来测试链接了~

参考资料:

linux学习(十)linux安装MySQL的更多相关文章

  1. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  2. centOS Linux下用yum安装mysql

    centOS Linux下用yum安装mysql      第一篇:安装和配置MySQL   第一步:安装MySQL   [root@192 local]# yum -y install mysql- ...

  3. linux下使用yum安装mysql、tomcat、httpd

    一.linux下使用yum安装mysql   1.安装 查看有没有安装过:           yum list installed mysql*           rpm -qa | grep m ...

  4. [mysql] linux下使用yum安装mysql

    From: http://www.2cto.com/database/201207/141878.html linux下使用yum安装mysql   1.安装 查看有没有安装过:           ...

  5. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  6. Linux学习之三-Linux系统的一些重要配置文件

    Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0        ...

  7. Linux学习之CentOS6下Mysql数据库的安装与配置

    转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  8. Linux学习笔记2_mysql安装

    查看文件内容的命令有很多:cat, tac, more, less, head, tail, nl. cat由第一行开始显示档案内容:tac从最后一行开始显示,可以看出tac是cat的倒着写:more ...

  9. linux系统ubuntu18.04安装mysql(5.7)

    本文是参考mysql官网整理而成,顺便把一些遇到的问题记载下来. ①将MySQLAPT存储库添加到系统的软件存储库列表中  ---->下载APT存储库(下载链接)  ---->安装APT存 ...

  10. 在CentOS Linux 7.5上安装MySQL

    本文来自与https://www.linuxidc.com/Linux/2018-05/152574.htm 随着CentOS 7 MySQL的发布,世界上最流行的开源关系数据库管理系统在CentOS ...

随机推荐

  1. Kettle基本使用

    Kettle基本使用 Kettle的几个子程序的功能和启动方式 Spoon.bat 图形界面方式启动作业和转换设计器. Pan.bat 命令行方式执行转换. Kitchen.bat   命令行方式执行 ...

  2. 还不会使用Java ThreadLocal落后了吧!

    Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量.因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的Thread ...

  3. JS继承 小白文

    继承我的理解是 一个对象 能够使用另一个对象的方法和属性 继承需要一个父类构造函数 一.通过原型链继承 通过 创建一个 Person 的实例对象,该对象身上 不仅有 name 和 age 等方法, 也 ...

  4. Vue路由模块化的实现方法

    分享一个Vue路由模块化方法,简单实用,好用到飞起 路由模块化 1.router/index.js 配置路由 import Vue from 'vue' import VueRouter from ' ...

  5. ent orm笔记1---快速尝鲜

    前几天看到消息Facebook孵化的ORM ent转为正式项目,出去好奇,简单体验了一下,使用上自己感觉比GORM好用,于是打算把官方的文档进行整理,也算是学习一下如何使用. 安装 ent orm 需 ...

  6. react+antd的todolist开发

    使用localStorage缓存在cookie里刷新不会充重置 参考链接 create-react-app入门教程https://www.jianshu.com/p/77bf3944b0f4 http ...

  7. 终于有架构师用401页PDF+194张图表把设计模式讲明白了

    十几年来,IT 界也发生了翻天覆地的变化,各种开源框架层出不穷,机器学习大兴其道.但是,在面向对象编程中,设计模式的重要性却不曾改变.与以前一样,在大规模的企业系统开发中,Java和C#仍处于主导地位 ...

  8. aop思想以及环境搭建(记录自己的一小步)1.1

    ##什么是aop思想? 首先老办法我们一起先看看官网是咋描述的? 它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为 ...

  9. 常用注解@Intdef与@Stringdef

    1.优点 可以代替枚举,静态常量,可以让注解只在代码中存在,编译后就删除,可以省内存. 2.@IntDef 2.1 官网 https://developer.android.com/reference ...

  10. RGB打水印在YUV图片上

    一. 概述 将RGB图片打在YUV上需要注意的是, 字体之外应该透明, 否则背景也会被覆盖不好看,  所以RGB必须有透明度,  本测试格式为BMP ARGB8888(也即B是最低字节, A是最高字节 ...