【Linux】-- 在linux上安装mysql及基本操作
1、MySQL的安装
1、删除mariadb数据库
yum remove mariadb-libs.x86_64
CentOS7默认安装mariadb数据库,所以要先删除
2、下载mysql源
进入mysql下载网址:https://dev.mysql.com/downloads/repo/yum/
进入tmp目录,在wget指令后粘贴下载链接,空格开始下载
cd /tmp/ wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
3、安装源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
查询一下源是否安装成功
yum search mysql
可以看到 已经安装成功
执行安装指令
yum install mysql-community-server
查看mysql服务是否启动
ps -ef | grep mysql
重启mysql服务
service mysqld restart
停止和开启mysql服务
service mysqld stop
service mysqld start
4、修改密码
查看默认密码
cat /var/log/mysqld.log | grep password
复制默认密码登录mysql
登录后mysql会提示你使用默认密码是不安全的,需要修改密码
注意:不同版本的mysql修改密码的语法可能有差异,这里我用的是mysql8.0。
SET PASSWORD = '12345';
还是会有问题,提示密码不符合当前策略要求(应该就是过于简单),所以需要修改mysql的策略
mysql5.7版本及以下
set validate_password_policy=0;
set validate_password_length=6;
msyql8.0版本
set global validate_password.policy=0
set global validate_password.length=6
如果你只想某个用户使用简单的密码策略,则可以把密码策略安全级别设置为最低,创建用户后再恢复过来。
2、基本操作
1.、远程连接
设想一种情况,你想在windows主机中连接云服务器或是链接另外一台主机上的数据库。
当你打开数据库管理工具(我用的是sqlyog),输出远程IP和数据库账号密码,连接时,将会报错,提示不能连接,因为数据库没有开启远程连接。
那如何开启呢?
1、进入远程数据库
2、修改权限信息
show databases;
use mysql;
show tables;
select Host,User from user \G;
update user set Host="%" where Host="localhost" and User="root";
select Host,User from user \G;
3、刷新权限信息或重启服务
将root账号的登录IP修改成任意IP都可登录后,还是不能通过远程连接,因为此时权限还未更新,需要刷新权限。
可以通过刷新权限语句或重启服务来实现。
刷新权限语句:
flush privileges;
重启服务:
service mysqld restart
4、关闭防火墙
当做完上述操作后,还是不能进行远程连接,因为防火墙是开启的。防火墙开启时会将许多端口屏蔽掉,讲防火墙关闭即可。
查看防火墙是否开启:
ps -ef | grep firewalld
关闭防火墙:
service firewalld stop
5、还是出现错误
如果出现client does not support authentication protocol requested by server;的错误
出现上述问题的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 把mysql用户登录密码加密规则还原成mysql_native_password
解决办法:
use mysql
set global validate_password.policy=0
set global validate_password.length=6;
alter user 'root'@'%' identified with mysql_native_password by 'lhb912168';
最后一行'用户名'@'%'和'用户名'@'localhost'的区别,一个是任意连接,一个是本地连接。lhb912168是我的root账号密码,这也同样适用于其它用户。
2、开启genelog
为什么要开启genelog?
genelog会记录所有操作数据库的sql语句
步骤:
进入数据库
设置geneLog日志文件存放路径
set global general_log_file="/tmp/general.log";
开启genelog
set global general_log=on;
3、用户管理
创建用户:
set global validate_password.policy=0
set global validate_password.length=6;
create user 'user'@'%' identified by '123456';
赋予用户所有权限:
grant all privileges on *.* to 'user'@'%' identified by '123456' with grant option;
*.* 表示所有库的所有表。‘user'@'%'表示所有主机登录的user账号。
赋予单独权限:
grant select,insert,update,delete on *.* to 'user'@'%' identified by '123456' with grant option;
回收权限:
revoke all privileges on *.* from user;
刷新权限语句:
每次进行权限修改操作,需要刷新权限
flush privileges;
4、忘记root密码
1)跳过权限表的验证
vim /etc/my.cnf
在配置文件的最后一行加上skip-grant-tables
这是登录mysql就可以不用输入密码了。
2)修改密码
现在不能使用安装mysql后修改默认root密码方法来更新密码,需要修改权限表
update user set authentication_string="12345" where user = 'root';
flush privileges;
3)复原权限表
将my.cnf中在最后一行添加的语句删除。
【Linux】-- 在linux上安装mysql及基本操作的更多相关文章
- 在linux(CentOS-6.7_x86_64)上安装mysql成功记录
查看linux服务器的yum源设置: [root@hadoop03 yum.repos.d]# cd /etc/yum.repos.d [root@hadoop03 yum.repos.d]# ll ...
- 在CentOS Linux 7.5上安装MySQL
本文来自与https://www.linuxidc.com/Linux/2018-05/152574.htm 随着CentOS 7 MySQL的发布,世界上最流行的开源关系数据库管理系统在CentOS ...
- linux/Ubuntu系统上安装mysql数据库(附图详解)
在前面的文章中,我已经分享了如何在Ubuntu系统中安装以及搭建java开发环境,那么当我们需要跟数据打交道的时候,那么就需要在ubuntu系统中安装一个数据库了,那么废话就不多说了,我们这里主要是分 ...
- 怎样在 Ubuntu Linux 上安装 MySQL
本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...
- linux(centos)上安装mysql教程,为需要远程登录的用户赋予权限
最近把之前学生时代的win server换成了linux(centos)系统,因为win对于部署一些项目时候比较麻烦,直接入正题 1.准备阶段 我使用xshell工具管理服务器,相应下载和安装自行百度 ...
- 在Linux机器上安装MySQL
在Linux机器上安装MySQL,仔细认真些就没有问题. CentOS 7下MySQL 5.7安装.配置与应用_数据库技术_Linux公社-Linux系统门户网站 搞不定的话,直接删掉这个MySQL, ...
- Linux+Redis实战教程_day02_Linux系统上安装MySQL
Linux系统上安装MySQL 安装MySQL 卸载自带mysql 查询mysql的安装情况,可以直接使用了 rpm -qa | grep -i mysql –-color 卸载原生的MySQL rp ...
- Linux上安装MySQL及其基础配置
本文主要介绍Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | gr ...
- Linux CentOS上安装 MySQL 8.0.16
前言: 因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗 ...
随机推荐
- [linux]解除linux对多次登录密码错误的账户的锁定
其他wheel账户下,执行: sudo pam_tally2 --user=username --reset
- 关于进程、线程、应用程序域(AppDomain)
什么是进程?什么是线程?什么是应用程序集?及三者之间的关系(以下做一些简单的概念性的理解) 三者共同的基础对象!!!——应用程序 1.进程是操作系统用于隔离众多正在运行的应用程序的机制,进程的缺点是降 ...
- Mysql相关知识点梳理(一):优化查询
EXPLAIN解析SELECT语句执行计划: EXPLAIN与DESC同义,通过它可解析MySQL如何处理SELECT,提供有关表如何联接和联接的次序,还可以知道什么时候必须为表加入索引以得到一个使用 ...
- python之OpenCv(三)---基本绘图
opencv 提供了绘制直线.圆形.矩形等基本绘图的功能 1.绘直线 cv2.line(画布,起点坐标,终点坐标,颜色,宽度) 例如: cv2.line(image,(20,60),(300,400) ...
- [APIO2007] 风铃
题目链接 可能是个树上 DP?指针真好玩 23333. 首先对于所有玩具如果有深度差超过 1 的就是无解(在这里贡献 WA * 3),所以 dfs 一遍记录深度是有必要的…… 然后如果有一个点的两颗子 ...
- pandas常用函数之diff
diff函数是用来将数据进行某种移动之后与原数据进行比较得出的差异数据,举个例子,现在有一个DataFrame类型的数据df,如下: index value1 A 0 B 1 C 2 D 3 如果执行 ...
- 第十节:基于MVC5+Unity+EF+Log4Net的基础结构搭建
一. 前言 本节继续探讨一种新的框架搭建模式,框架的结构划分和上一节是相同的,本节IOC框架换成了Unity,并且采用构造函数注入的方式,另外服务层的封装模式也发生了变化,下面将详细的进行探讨. (一 ...
- HTML(六)HTML iframe 使用postMessage方法进行跨文档消息传递
什么是iframe HTML内联框架元素 <iframe> 表示嵌套的浏览上下文,有效地将另一个HTML页面嵌入到当前页面中. <iframe id="inlineFram ...
- Consequence of Point-by-Point Bounds
设 $X$ 是完备距离空间, $\scrF$ 是 $X$ 上的实连续函数族且具有性质: 对于每一 $x\in X$, 存在常数 $M_x>0$, 使得对于每一 $F\in\scrF$, $$\b ...
- SQL Server 常用的系统函数
Ø 简介 本文主要列举 SQL Server 中常用的一些系统函数,帮助我们在编写 SQL 时忘了某个函数的用法方便查阅.主要分为以下几类函数,更多函数可参考官网. 1. 字符串函数 2. ...