环境

  • oracle linux7.3

  • 数据库:MySQL-5.7.20

mysql的安装

  • 先安装依赖的插件
yum install libaio
  • 去官网下载mysql-5.7.20的tar.gz包;
https://dev.mysql.com/downloads/mysql/
# 将下载包解压到/usr/local/目录下
tar mysql-advanced-5.7.20-linux-glibc2.12-x86_64 -C /usr/local
# 创建一个mysql的用户组
groupadd mysql
# 为用户组添加用户
useradd -r -g mysql mysql
cd /usr/local
# 为解压文件创建一个简单的软链接
ln -s mysql-advanced-5.7.20-linux-glibc2.12-x86_64 mysql
cd mysql
# 创建一个用户数据的文件
mkdir mysql-files
# 将该文件夹交给mysql组下的mysql用户
chown mysql:mysql mysql-files
# 授权
chmod 750 mysql-files
# 执行初始化脚本
cd bin
./mysqld --initialize --user=mysql # ./mysql_intsall_db脚本初始化方式已经被弃用
# 添加加密
./mysql_ssl_rsa_setup
# 安全启动mysql
./mysqld_safe --user=mysql&

注意:

  • 执行初始化后会出现如下,提示默认密码,记住这个密码
A temporary password is generated for root@localhost: XXXXXXX, XXXXXXX
  • 登录mysql修改初始密码
mysql -u root -p
set password=password('new_password')
  • 如果是系统自带的mysql版本,第一次登陆的时候也需要修改初始密码;
# 去日志找到初始随机密码
cd /var/log
cat mysqld.log | grep password
  • 出现‘A temporary password is generated for root@localhost: xxxxxxx’就是root用户的初始随机密码

  • 更多详细内容参见mysql 5.7以上修改初始密码

  • 将mysqld添加到系统环境变量

vi /etc/profile
# 在末尾添加
export MYSQL_HOME="/usr/local/mysql/"
export PATH="$PATH:$MYSQL_HOME/bin"
# 应用配置
source /etc/profile
  • 设置开机自启动
# 编辑启动脚本
vi smysql
#!/bin/sh
#chkconfig: 2345 30 70
/usr/local/mysql/support-files/mysql.server start # 注册到自启动服务
chkconfig --add smysql
chkconfig smysql on

用户相关

  • 查看当前MySQL的所有的用户
use mysql;
select host,user from mysql.user;
  • 查看mysql用户的权限
show grants for root@'localhost';
  • MySQL创建一个用户
# create user "用户的名称"@"主机的IP,如果任意使用%代替" identified by "登陆的密码,为空则没有密码";
create user 'usrabc'@'%' identified by 'usrabc';
  • 用户授权

授权格式:grant 权限 on 数据库 to 用户名@登录主机;

说明:

  1. 权限:指的是privileges,可以使select,insert等,所有的权限使用all;
  2. 数据库:写数据库名,表名,所有数据库用.;
  3. 用户名@登录主机:给授权的用户和指定的主机,所有主机使用'%';
  • 注意:

授权的用户不能对其他用户进行授权,如果想让该用户可以授权,用以下命令:

grant 权限 on 数据库 to 用户名@登录主机 with grant option;
grant all privileges on *.* to 'username'@'%' with grant option;

# 刷新权限表
flush privileges; # 退出MySQL重启
service mysql restart
  • 设置更改用户的密码
# root管理员更改其他的用户的密码
set password for 'username'@'%' = password('123456');
# 如果是用户修改密码
set password = password('123456');
  • 撤销用户权限
# 其相关的参数同用户的授权的一样
revore privileges on 数据库 from 'username'@'host';
  • 删除用户
# 使用root操作
drop user 'username'@'host';

卸载并彻底删除

  • 目前我的系统的使用yum安装的,因此使用yum卸载,
$ yum remove mysql
  • 还有许多的残留文件需要删除
# 全局查找mysql文件
find / -name mysql
# 将查找到的每个目录删除
rm -rf xxx -rf xxx ...
  • 重启后可以安装新的mysql了

mysql之安装和配置(一)的更多相关文章

  1. 第一章 数据库概述、MySQL的安装和配置

      第一章 数据库概述.MySQL的安装和配置   1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...

  2. MySql的安装及配置详细指引!

    一.安装My Sql数据库 1.1,首先下载MySQL与HeidiSQL工具,双击打开后可以看到名为”mysql-5.0.22-win32 Setup.exe”的安装程序,双击执行该程序. 1.2,打 ...

  3. mysql免安装版配置与使用方法

    mysql免安装版配置与使用方法      以mysql-noinstall-5.1.6(win32)为例 1>把压缩文件mysql-noinstall-5.1.6-alpha-win32.zi ...

  4. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

  5. Mysql数据库安装和配置

    http://blog.csdn.net/pipisorry/article/details/46773507 Mysql数据库安装和配置.mysql语法.特殊符号及正则表达式的使用.MySQL备份与 ...

  6. Mysql免安装版配置教程和常用命令图

    Mysql免安装版配置教程 图文版 配置环境变量 新建一个my.ini文件,添加下面内容 [mysqld] basedir=C:\\software\Mysql\mysql-5.7.14-winx64 ...

  7. 数据库之mysql篇(1)—— 数据库管理系统简介/mysql的安装、配置

    说mysql之前,还是先说说数据库. 什么是数据库: 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后 ...

  8. C#自制Web 服务器开发:mysql免安装版配置步骤详解分享

    mysql免安装版配置步骤详解分享 1.准备工作 下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\ mysql-noinst ...

  9. 1.Mysql的安装与配置

    1.Mysql的安装与配置1.1 Mysql的下载 mysql是开源数据库,开源数据库在中低端应用中占据了很大的市场份额. mysql社区版自由下载而且安全免费,官方不提供任何技术支持,适用于普通用户 ...

  10. Ubuntu 12.04下mysql的安装与配置

    转自:http://blog.csdn.net/ichsonx/article/details/9285935 准备  0. 获取 mysql-5.5.15-linux2.6-i686.tar.gz ...

随机推荐

  1. cmd批处理中set /a和set /p的区别介绍

    在 SET 命令中添加了两个新命令行开关: SET /A expression SET /P variable=[promptString]/p 是让你输入/a 是指定一个变量等于一串运算字符 什么参 ...

  2. ASP.NET MVC4中使用bootstrip模态框时弹不出的问题

    最近发现使用在MVC中使用bootstrip的模态框时弹不出来,但单独建立一HTML文件时可以弹出,说明代码没有问题,经过多次测试发现,在MVC的cshtml文件中添加上以下语句就能正常 @{ Lay ...

  3. 利用FluidMoveBehavior制作出手机通讯录平滑的效果

    最近学习Blend,原来Blend制作动画等效果非常棒.下面演示一下FluidMoveBehavior应用,利用Blend中行为中的FluidMoveBehavior制作出手机通讯录平滑的效果 1.在 ...

  4. 【bzoj3110】[Zjoi2013]K大数查询 权值线段树套区间线段树

    题目描述 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c.如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数 ...

  5. Python 断言和异常

    Python 断言和异常 Python断言 断言是一种理智检查,当程序的测试完成,可以将其打开或关闭.断言的最简单方法就是把它比作raise-if语句(或更加准确,raise-if-not声明).一个 ...

  6. C# 面向对象——继承

    继承:代码文字结合理解 class Program { static void Main(string[] args) { //Student s = new Student(); //Driver ...

  7. 编写高效Lua代码的方法

    编写高效Lua代码的方法 翻译自<Lua Programming Gems>Chapter 2:Lua Performance Tips:Basic fact By Roberto Ier ...

  8. Oracle 转义字符

    id sfds_V_SF ASD_V_DSAF SD_V_DSAD   下划线是Oracle特殊字符,需要转移,如下    select * from systab t where t.id like ...

  9. 【题解】Atcoder ARC#90 E-Avoiding Collision

    自己做出来固然开心,但是越发感觉到自己写题的确是很慢很慢了……往往有很多的细节反反复复的考虑才能确定,还要加油呀~ 这道题目的突破口在于正难则反.直接求有多少不相交的不好求,我们转而求出所有相交的.我 ...

  10. axios请求,拦截器的使用

    1. axios 创建请求 import axios from 'axios' import {Message} from 'element-ui' import router from " ...