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及基本操作的更多相关文章

  1. 在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 ...

  2. 在CentOS Linux 7.5上安装MySQL

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

  3. linux/Ubuntu系统上安装mysql数据库(附图详解)

    在前面的文章中,我已经分享了如何在Ubuntu系统中安装以及搭建java开发环境,那么当我们需要跟数据打交道的时候,那么就需要在ubuntu系统中安装一个数据库了,那么废话就不多说了,我们这里主要是分 ...

  4. 怎样在 Ubuntu Linux 上安装 MySQL

    本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...

  5. linux(centos)上安装mysql教程,为需要远程登录的用户赋予权限

    最近把之前学生时代的win server换成了linux(centos)系统,因为win对于部署一些项目时候比较麻烦,直接入正题 1.准备阶段 我使用xshell工具管理服务器,相应下载和安装自行百度 ...

  6. 在Linux机器上安装MySQL

    在Linux机器上安装MySQL,仔细认真些就没有问题. CentOS 7下MySQL 5.7安装.配置与应用_数据库技术_Linux公社-Linux系统门户网站 搞不定的话,直接删掉这个MySQL, ...

  7. Linux+Redis实战教程_day02_Linux系统上安装MySQL

    Linux系统上安装MySQL 安装MySQL 卸载自带mysql 查询mysql的安装情况,可以直接使用了 rpm -qa | grep -i mysql –-color 卸载原生的MySQL rp ...

  8. Linux上安装MySQL及其基础配置

    本文主要介绍Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | gr ...

  9. Linux CentOS上安装 MySQL 8.0.16

    前言: 因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗 ...

随机推荐

  1. Python3 与 C# 并发编程之~ 协程篇

      3.协程篇¶ 去年微信公众号就陆陆续续发布了,我一直以为博客也汇总同步了,这几天有朋友说一直没找到,遂发现,的确是漏了,所以补上一篇 在线预览:https://github.lesschina.c ...

  2. 第四章:条件语句(if)和循环结构(while)

    1.流程控制 含义与作用 Python程序执行,一定按照某种规律在执行 a.宏观一定是自上而下(逻辑上方代码一定比逻辑下方代码先执行):顺序结构b.遇到需要条件判断选择不同执行路线的执行方式:分支结构 ...

  3. python list的使用

    list列表的常用方法有: #!/usr/bin/env python # -*- coding:utf- -*- #以下方法全在python2..x版本运行,请3.x以上的小伙伴们在print(放入 ...

  4. CMDB资产管理系统开发【day25】:Django 自定义用户认证

    官方文档:https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#substituting-a-custom-user-mode ...

  5. Windows Server 在IIS上创建安全网站

    第一步.打开服务器管理器,创建用户,并设置密码,自己记录下来,注意勾选密码永不过期. 第二步.设置用户隶属组:IIS_IUSRS. 第三步.设置建立的网站文件夹权限,添加刚才建立的用户,并添加修改.读 ...

  6. JavaScript生成斐波那契数列

    常规写法 https://cn.bing.com/search?q=js+fibonacci+sequence&pc=MOZI&form=MOZSBR //Fibonacci func ...

  7. [面试] mysql 面试题

    最近在准备面试,mysql 实在是不熟悉,就先摘录一些网上的面试题来看一下. 1. MyISAM 和 InnoDB 区别? InnoDB 支持事务处理,支持更大的并发update 和 insert 操 ...

  8. 第九节,MXNet:用im2rec.py将图像打包生成.rec文件

    1.生成.lst文件 制作一个文件路径和标签的列表: import os import sys #第一个参数是输入路径 input_path=sys.argv[1].rstrip(os.sep) #第 ...

  9. Centos7.5 安装VirtualBox增强工具

    一.安装 1.自带tools:  选择VirtualBox工具栏 => 设备 => 安装增强功能 2.挂载光驱 3.进入光驱目录,执行(一定要用root权限执行) ①安装gcc yum i ...

  10. git知识总结-1.git基础之基本术语

    1.前言 git是一种分布式版本管理工具,本文主要是通过阅读博客中几篇讲述git的优秀文章,并对文章进行整理.提炼总结得出一份git的说明文档. 本文档介绍了git的基本原理及常用操作,目标是通过阅读 ...