MySQL linux下安装,配置,免密登录与基本认识
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版本

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

我的服务器是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 clearstatus或\s:显示服务器信息source或\.: 执行sqlconnect [db_name [host]]重新连接到my_database数据库,连接主机为my_host。示例:
connect my_database my_host;prompt [new_prompt]修改提示符的名字示例:
prompt hello>把提示符mysql>改成了hello>
MySQL linux下安装,配置,免密登录与基本认识的更多相关文章
- Windows和Linux下实现ssh免密登录
------------恢复内容开始------------ SSH是一种通讯协议,可以实现远程安全登录.可以通过如putty.MobaXterm等工具通过ssh安全登录到虚拟机进行操作. Opens ...
- linux 服务器之间配置免密登录
客户机:172.16.1.2 远程机:172.16.1.3 1.远程机 a.允许root用户通过22端口登录 vi /etc/ssh/sshd_config PORT 22 PermitRootLog ...
- (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...
- Linux下安装配置与使用MySQL数据库
Linux下安装配置与使用MySQL数据库 在Linux下安装做开发时往往少不了要使用到MySQL数据库,下面就Linux系统为例讲解一下,如何安装MySQL数据库,如何启用/停.止MySQL服务,如 ...
- Linux下安装配置MySQL5.7服务器
Linux下安装配置MySQL服务器 一.安装环境 ============ OS:centos6.8 MySQL:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz ...
- 【Hadoop系列】linux下 root用户免密码登录远程主机 ssh
SSH原理:[Hadoop系列]linux SSH原理解析 操作环境: CentOS 6.5 操作对象: 用户A主机和远程主机B 正文部分:斜体加粗代表linux指令. linux下 非root用户免 ...
- Windows下安装配置免安装MySQL5.7服务器
Windows下安装配置免安装MySQL5.7服务器 1.下载.解压安装包 从MySQL官方网站上下载mysql-5.7.19-winx64.zip 下载完成后,把安装包解压到D:\DevSoft ...
- Linux 下安装配置 JDK7
Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...
- linux 下安装配置jboss as7以及部署应用
linux 下安装配置jboss as7以及部署应用 1.测试平台及软件 centos 5.4 jdk-7u5-linux-i586.rpm jboss-as-7.1.1.Final.zip jbos ...
- 在linux下安装配置rabbitMQ详细教程
在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...
随机推荐
- oeasy教您玩转vim - 65 - # 批处理操作
批处理操作 回忆上次 我们上次参数列表 arguments list 所谓参数列表指的是 vim 打开的 参数列表 参数会加载到内存中成为 buffer 参数的控制 :arga filename ...
- WRONG(COPY)
去年总结的列表,欢迎大家补充!! 两个int相乘,50%几率会爆了int.(不开long long见祖宗) 无向图邻接表的边表忘了这是心口永远的痛: 线段树数组开小是4(乘4有时候不够) 调用多个函数 ...
- Python 实时获取任务请求对应的Nginx日志
需求描述 项目需求测试过程中,需要向Nginx服务器发送一些用例请求,然后查看对应的Nginx日志,判断是否存在特征内容,来判断任务是否执行成功.为了提升效率,需要将这一过程实现自动化. 实践环境 P ...
- 我用Awesome-Graphs看论文:解读Naiad
Naiad论文:<Naiad: A Timely Dataflow System> 前面通过文章<论文图谱当如是:Awesome-Graphs用200篇图系统论文打个样>向大家 ...
- 【Mybatis-Plus】01 快速上手
[官网快速上手地址] https://mp.baomidou.com/guide/quick-start.html#%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B7%A5%E7%A8 ...
- 【SpringSecurity】01 授权、认证、注销
[前提情要] Security学习地址: https://www.bilibili.com/video/BV1KE411i7bC 狂神的微信笔记: https://mp.weixin.qq.com/s ...
- Audio2Gesture:NVIDIA 黄仁勋的3D虚拟人技术 —— 元宇宙
相关: https://www.nvidia.com/en-us/on-demand/session/omniverse2020-om1573/ https://www.nvidia.com/zh-t ...
- 【转载】 源码分析multiprocessing的Value Array共享内存原理
原文地址: http://xiaorui.cc/archives/3290 ========================================================= 当第一次 ...
- 再谈《强化学习算法之DQN算法中的经验池的实现》 experience_replay_buffer模块的实现
去年曾写过一篇DQN经验池模块编写的博文: 强化学习算法之DQN算法中的经验池的实现,experience_replay_buffer部分的实现 最近又看到了一个经验池实现的代码,把这两个实现做了一下 ...
- 对国产AI计算框架要有一定的包容力——记“mindspore”使用过程中的“不良反应”
看mindspore的官方文档,居然有502错误,恶心到了: 打开Eager模式的链接,报错:
