MySQL卸载

环境

在安装前,为了减少相关因素影响,建议先卸载干净后再安装;

整个安装过程需要root权限;

安装环境 centos 7;

安装版本 MySQL 5.7;

架构 x86-64;

查看是否已安装MySQL

查看正在运行的进程,如果存在可以先kill掉

ps axj|grep mysql

查看是否存在有正在运行的SQL服务

systemctl list-units|grep mysql

暂停mysql服务

systemctl stop mysqld

卸载mysql服务

yum安装的mysql通常是.rpm版本,因此可以通过rpm管理器查看mysql安装包

rpm -qa | grep mysql			#	qa 表示 'query all'

全部卸载,可以选择手动一条条删,也可以选择组合命令自动化删除

rpm -qa | grep mysql | xargs yum -y remove 		# 将rpm输出结果通过xargs转成命令参数喂给yum

查看是否卸载干净

卸载mysql后,/etc/my.cnf文件也会被删除

ls /etc/my.cnf

历史mysql数据默认会保留.需要的话可以做一个备份

sudo ls /var/lib/mysql/

MySQL安装

查看linux版本

安装前先查看自己linux发行版

cat /etc/centos-release

cat /etc/redhat-release

uname -a		# el代表centos

选择MySQL版本

打开网页http://repo.mysql.com/

可以发现很多版本,但是版本过长,显示不全,右键选择查看网页源代码就能展开查看了

我的服务器是centos7,因此选择el版本;即mysql57-community-release-el7.rpm(centos7通用版本,如果有对应的版本也可以选择)

[noarch_百度百科 (baidu.com)](https://baike.baidu.com/item/noarch/5351882?fr=aladdin

获取mysql官方yum源

使用wget直接下载到服务器

wget http://repo.mysql.com/mysql57-community-release-el7.rpm

或者直接下载到本地,然后再使用其他方法如scp,lrzsz,ftp方式等拷贝过去

rpm安装mysql官方yum源

进入到存放mysql的目录后,因为我们下载的mysql是.rpm版本,因此需要使用rpm管理器进行安装.

yum类似一个商店,用于下载需要的包,实际安装也是调用rpm进行安装.如果配好了下载mysql的yum源,就可以直接通过yum进行直接安装.

可以通过ls /etc/yum.repos.d/ 查看所有yum源

我的liunx上没有mysql相关的yum源,因此需要安装;

安装命令:

sudo rpm -ivh mysql57-community-release-el7.rpm

安装后,yum也更新了mysql相关的yum源

之后就可以通过yum进行安装mysql及mysql相关工具.

测试新增的yum源是否正常工作:

yum list |grep mysql

如果出现mysql相关的包,就说明安装成功

安装mysql服务

sudo yum install -y mysql-community-server

安装大概需要1G空间,安装时间根据机器配置而定,需要一定时间

查看是否安装成功

查看mysql配置文件是否存在

ls /etc/my.cnf

查看服务端应用程序是否存在

which mysqld

sbin:super bin # 需要超管权限的服务

查看客户端应用程序

which mysql

查看监听端口号,mysql启动后会在local Address 3306

netstat nltp

配置MySQL

简单登录mysql命令

先看能不能用,简单登录测试,注意刚安装时是不知道密码的,看下文处理

更新版本的mysql可能root没有登陆密码,直接回车登录即可.

其他方式如历史记录查看mysql生成临时密码等(旧版本) :

sudo grep 'temporary password' /var/log/mysqld.log \

搜到就用你的搜到的,搜不到就只能用别的方法

可能临时密码都是相同的,即waQ,qR%be2(5

可以输入试试;

mysql -uroot -p ## -u:User, -p表示password

退出命令

quit

免密登录配置

在不知道密码时,网上有多种登录方式,当前介绍免密登录配置.

在/etc/my.cnf文件中追加以下命令即可.

skip-grant-tables

配置好后重启mysqld

systemctl restart mysqld 	##或者分两步走,先stop再start

然后再次登录mysql,密码处直接回车即可

能够登录之后,再进行修改密码,修改密码方式有很多种,不过当前是处于kip-grant-tables下,常规方式不允许,可以直接通过修改user表进行修改密码;下面语句暂时用着即可

mysql> set global validate_password_policy=0;		## 设置为弱密码强度
#安全强度,默认为中,即1,要求必须包含 数字、符号、⼤⼩写字⺟,⻓度⾄少为8位 set global validate_password_length=1; ## 设置密码最小长度 update user set authentication_string=password('123456') where user='root'; ##直接对数据进行操作
或 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; flush privileges; ## 刷新权限

改完密码后就可以移除skip-grant-tables配置了

my.cnf 其他配置项

## /etc/my.cnf
## ... datadir=/var/lib/mysql #建表等数据存放路径
socket=/var/lib/mysql/mysql.sock #内部数据,略 # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 log-error=/var/log/mysqld.log #错误日志
pid-file=/var/run/mysqld/mysqld.pid # User-defind Add
skip-grant-tables #免密设置,重启mysqld生效
port=3306 #mysql服务端口号
character-set-server=utf8 #设置字符集为utf8
default-storage-engine=innodb #设置默认存储引擎为innodb lower_case_table_names=1 #设置mysqld大小写不敏感(linux需要配置)
# lower_case_table_names = 0:表名按指定存储,比较是大小写敏感的。
# lower_case_table_names = 1:表名在磁盘上以小写存储,比较不是大小写敏感的。
# lower_case_table_names = 2:表名按指定存储,但比较不是大小写敏感的。

设置开机启动(可选)

systemctl enable mysqld		#开机自启
systemctl daemon-reload #重新加载配置文件

常用命令与名词认识

登录命令

mysql -h127.0.0.1 -P3306 -uroot		## -h 指定服务器ip -P指定端口号 ##不指定时使用默认

清屏命令

mysql> system clear;

认识mysql 和 mysqld

mysqld是网络服务一种,d表示daemon,守护进程;mysqld表示mysql数据库服务的服务器端

mysql就是数据库服务的客户端了

mysql是一套提供数据存取服务的网络程序;

数据库本质是,在磁盘或内存中存储的 特定结构组织的数据

一般谈数据库服务就表示mysqld ;谈数据库时,就是具体的数据组织文件

数据库在linux中的存在形式

创建了一个数据库叫helloworld

根据/etc/my.cnf知道,datadir是数据存放目录,默认为/var/lib/mysql,进到目录中,可以发现该目录中存在许多与数据库同名的目录,即数据库在linux中是一个目录

进到helloworld目录中,只有一个配置信息的文件

建一个表后,查看变化

表表现为.frm和.ibd两个文件;即表就是数据库目录中的文件

在数据库目录下创建一个目录,对应的mysql也会同步增加一个数据库(测试用,实际不可这么做)

SQL分类

  • DDL(data definition language) 数据定义语言,用来维护存储数据的结构

    代表指令: create, drop, alter

  • DML(data manipulation language) 数据操作语言,用来对数据进行操作

    代表指令: insert, delete, update

  • DCL(data control language) 数据控制语言, 主要负责权限管理和事物

    代表指令: grant, revoke, commit

存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

MySQL的核心就是插件式存储引擎,支持多种存储引擎。

查看存储引擎

show engines;

MySQL常用的存储引擎基本上只有两种InnoDB或MyISAM;如果需要其他存储引擎时,大概率也不会选择MySQL,而是考虑其他数据库服务了.

InnoDB以强大索引,事物功能,方便业务处理; MyISAM不支持事务,但是高并发较好;

存储引擎对比

MySQL架构

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

主要还是作为网络服务用在服务器(linux)上.

mysqld可以简单分为4层

help中文翻译

所有 MySQL 命令列表:
请注意,所有的文本命令都必须在一行的开始位置,并且以 ';' 结束。 ? (\?) - `help` 的同义词。
clear (\c) - 清除当前输入的语句。
connect (\r) - 重新连接到服务器。可选参数包括数据库(db)和主机(host)。
delimiter (\d) - 设置语句分隔符。
edit (\e) - 使用 $EDITOR 编辑命令。
ego (\G) - 将命令发送到 MySQL 服务器,并垂直显示结果。
exit (\q) - 退出 MySQL。与 quit 相同。
go (\g) - 将命令发送到 MySQL 服务器。
help (\h) - 显示此帮助信息。
nopager (\n) - 禁用分页器,打印到标准输出。
notee (\t) - 不写入输出文件。
pager (\P) - 设置分页器 [to_pager]。通过分页器打印查询结果。
print (\p) - 打印当前命令。
prompt (\R) - 更改你的 MySQL 提示符。
quit (\q) - 退出 MySQL。
rehash (\#) - 重建补全哈希表。
source (\.) - 执行一个 SQL 脚本文件。需要一个文件名作为参数。
status (\s) - 从服务器获取状态信息。
system (\!) - 执行一个系统 Shell 命令。
tee (\T) - 设置输出文件 [to_outfile]。将所有内容附加到指定的输出文件。
use (\u) - 使用另一个数据库。需要一个数据库名称作为参数。
charset (\C) - 切换到另一个字符集。可能在处理多字节字符集的 binlog 时需要。
warnings (\W) - 每个语句后显示警告。
nowarning (\w) - 每个语句后不显示警告。
resetconnection (\x) - 清理会话上下文。

现学现用

  • ? 命令 显示对应指令的帮助文档

    例如 ? use

  • 命令 \c 当前输入命令作废

  • 命令 \G 结果垂直显示,而不是以表格形式显示。

  • system shell命令\! shell命令 : 执行系统命令

    常用: system clear

  • status\s :显示服务器信息

  • source\.: 执行sql

  • connect [db_name [host]] 重新连接到 my_database 数据库,连接主机为 my_host

    示例:connect my_database my_host;

  • prompt [new_prompt] 修改提示符的名字

    示例:prompt hello> 把提示符mysql> 改成了hello>

MySQL linux下安装,配置,免密登录与基本认识的更多相关文章

  1. Windows和Linux下实现ssh免密登录

    ------------恢复内容开始------------ SSH是一种通讯协议,可以实现远程安全登录.可以通过如putty.MobaXterm等工具通过ssh安全登录到虚拟机进行操作. Opens ...

  2. linux 服务器之间配置免密登录

    客户机:172.16.1.2 远程机:172.16.1.3 1.远程机 a.允许root用户通过22端口登录 vi /etc/ssh/sshd_config PORT 22 PermitRootLog ...

  3. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

  4. Linux下安装配置与使用MySQL数据库

    Linux下安装配置与使用MySQL数据库 在Linux下安装做开发时往往少不了要使用到MySQL数据库,下面就Linux系统为例讲解一下,如何安装MySQL数据库,如何启用/停.止MySQL服务,如 ...

  5. Linux下安装配置MySQL5.7服务器

    Linux下安装配置MySQL服务器 一.安装环境 ============ OS:centos6.8 MySQL:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz ...

  6. 【Hadoop系列】linux下 root用户免密码登录远程主机 ssh

    SSH原理:[Hadoop系列]linux SSH原理解析 操作环境: CentOS 6.5 操作对象: 用户A主机和远程主机B 正文部分:斜体加粗代表linux指令. linux下 非root用户免 ...

  7. Windows下安装配置免安装MySQL5.7服务器

      Windows下安装配置免安装MySQL5.7服务器 1.下载.解压安装包 从MySQL官方网站上下载mysql-5.7.19-winx64.zip 下载完成后,把安装包解压到D:\DevSoft ...

  8. Linux 下安装配置 JDK7

    Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...

  9. linux 下安装配置jboss as7以及部署应用

    linux 下安装配置jboss as7以及部署应用 1.测试平台及软件 centos 5.4 jdk-7u5-linux-i586.rpm jboss-as-7.1.1.Final.zip jbos ...

  10. 在linux下安装配置rabbitMQ详细教程

    在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...

随机推荐

  1. [oeasy]python0094_视频游戏_双人网球_pong_atari_mos_6502_雅达利_米洛华

    编码进化 回忆上次内容 上次 我们回顾了 微软之前的 比尔盖茨和保罗艾伦 mits 迎来的 是帮手 还是隐患? intel-8080 遇到了 mos-6502 底层硬件 驱动 游戏行业进化 不光是扑克 ...

  2. oeasy教您玩转vim - 26 - 缩进设置

    ​ 缩进设置 回忆上节课内容 这次了解了颜色的细节 设置 256 色模式 :set t_Co=256 然后确定了具体的各种颜色 还可以生成网页 :TOhtml 还有什么好玩的么? ​ 缩进设置 ​ 在 ...

  3. vscode取消json文件注释下划线

    使用 vscode 打开一个json文件,如果有单行或多行注释,则会显示红色下划线,解决办法如下: 方法1 点击底部的JSON,选择 JSON with Comments 即可,然后红色下划线消失,底 ...

  4. JDBC第二天:防sql攻击

    1 什么是SQL攻击 在需要用户输入的地方,用户输入的是SQL语句的片段,最终用户输入的SQL片段与我们DAO中写的SQL语句合成一个完整的SQL语句!例如用户在登录时输入的用户名和密码都是为SQL语 ...

  5. awk替换指定行指定列内容

    例如表格中数值如下1,2,3,41,2,1,22,3,2,3怎么样在原表中,把第二行第三个1替换为5. awk -F"," 'NR==2{$3=5} 1' file.txt -F ...

  6. Springboot + Vue ElementUI 实现MySQL可视化

    一.功能展示: 效果如图: DB连接配置维护:   Schema功能:集成Screw生成文档,导出库的表结构,导出表结构和数据 表对象操作:翻页查询,查看创建SQL,生成代码 可以单个代码文件下载,也 ...

  7. 【Tutorial C】01 概述

    历史 History 欢迎来到C语言的世界!C语言是一种强大的专业化编程语言,深受业余和专业编程人员的欢迎. 在学习之前先让我们了解和认识它! C语言的原型是A语言(ALGOL 60语言). 1963 ...

  8. 【Vue】Re18 Router 第五部分(KeepAlive)

    一.KeepAlive概述 默认状态下,用户点击新的路由时,是访问新的组件 那么当前组件是会被销毁的,然后创建新的组件对象出来 如果某些组件频繁的使用,将造成内存空间浪费,也吃内存性能 所以需求是希望 ...

  9. 【Spring Data JPA】09 多表关系 Part2 多对多关系操作

    环境搭建: 用户类: package cn.echo42.domain; import javax.persistence.*; import java.util.HashSet; import ja ...

  10. 论文写作:test 和 testing 使用的区别

    "test" 和 "testing" 的区别主要在于它们在句子中的用途和语法功能: Test: 名词: 指的是一次测试或考试.例如: "The stu ...