CentOS安装MySQL8.0「建议收藏」

CentOS安装MySQL8.0「建议收藏」目录配置yum源wget下载源安装包安装源安装MySQL启动相关启动服务查看启动状态设置开机自启重启服务配置修改密码卸载卸载MySQL删除文件配置yum源wget下载源安装包如果没有安装wget,先安装yum-yinstallwget进入mysql官网下载:https://dev.mysql.com/downloads/repo/yum/复制下载链接:https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rp

大家好,又见面了,我是你们的朋友全栈君。

下载及安装

wget下载源安装包

如果没有安装wget,先安装

yum -y install wget

进入mysql官网下载:https://dev.mysql.com/downloads/repo/yum/
在这里插入图片描述
在这里插入图片描述
复制下载链接:https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm
我这边是下载到opt目录,进入目录:cd /opt
下载:

wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm

安装源

安装命令:

yum localinstall mysql80-community-release-el7-4.noarch.rpm

检查是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

在这里插入图片描述

安装服务

yum install mysql-community-server

服务相关命令

# 启动服务
systemctl start mysqld
或者
service mysqld start
# 关闭服务
service mysqld stop
# 重启服务
systemctl restart mysqld
# 查看启动状态
systemctl status mysqld
或
service mysqld status

设置开机自启

systemctl enable mysqld && systemctl daemon-reload

配置

修改密码

查看默认密码:

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

在这里插入图片描述

ps: 这里有可能显示的临时是空的,解决方案:

  1. 删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)
    bash rm -rf /var/lib/mysql
  2. 重启mysqld服务
    bash systemctl restart mysqld
  3. 再去找临时密码
    bash grep 'temporary password' /var/log/mysqld.log

进入数据库

mysql -uroot -p

输入刚刚的临时密码,回车
在这里插入图片描述
修改密码(注意:密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位)

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

查看密码策略相关信息(执行这一步需要先修改默认密码,即执行完上一步修改才可以,否则会报错)

show variables like '%password%';

在这里插入图片描述

  • validate_password_policy:密码策略,默认为MEDIUM策略
  • validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
  • validate_password_length:密码最少长度
  • validate_password_mixed_case_count:大小写字符长度,至少1个
  • validate_password_number_count :数字至少1个
  • validate_password_special_char_count:特殊字符至少1个

上述参数是默认策略MEDIUM的密码检查规则。

修改密码策略:
/etc/my.cnf文件添加validate_password_policy配置,指定密码策略:

validate_password_policy=0

  • 0(LOW)
  • 1(MEDIUM)
  • 2(STRONG)这种需要提供密码字典文件

如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:validate_password = off
重启服务即可生效。

修改root用户远程访问权限

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户。

选择 mysql 数据库:use mysql;

在 mysql 数据库的 user 表中查看当前 root 用户的相关信息:

select host, user from user;

在这里插入图片描述
root 用户的 host,默认显示的 localhost,只支持本地访问,不允许远程访问。

授权 root 用户的所有权限并设置远程访问

GRANT ALL ON *.* TO 'root'@'%';

如果报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT
在这里插入图片描述
就使用下面的命令:

update user set host='%' where user ='root';

然后使用下面命令使修改生效:

flush privileges;

卸载

卸载MySQL

yum remove mysql-community-server

删除文件

rm -rf /var/lib/mysql
rm /etc/my.cnf
rm -rf /usr/share/mysql-8.0

如果需要重新安装,在安装完成启动之前可以先对mysql目录授权防止异常发生:

chmod -R 777 /var/lib/mysql
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153267.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Coursera 助学金模板

    Coursera 助学金模板最近准备开始在Coursera上刷编程课程,然鹅作为一个穷学生当然是负担不起几百刀一节的学费,还好可以申请助学金,真是雪中送炭……于是乎,我觉得要提前编一套模板出来便于以后用……刚刚提交了PythonforEveryone课程的申请,把内容写下来记录一下……理由Dearreviewers,IamastudentfromChinawhohasnoincome…

    2022年7月24日
    9
  • jediscluster.set_java.lang.throwable

    jediscluster.set_java.lang.throwable如果使用的是redis3.x中的集群,在项目中使用jedisCluster。1、项目结构2、pom.xml123xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd”>454.0.067com.xxx8myboot9…

    2022年10月14日
    2
  • C语言实现电脑关机程序

    C语言实现电脑关机程序这个是我在网上搜索到的资料,其实也是很简单的。想使用ESP8266完成这样一个操作——远程关闭电脑,达到人在别的任何地方都可以操作我们的电脑。这个虽然已经不是羡慕新奇的事,实现的方法也撑出不穷,但我们学习ESP8266,也不失是一种体验的过程。对于初学者来说也是一种很有成就感的体验。因此,想完成远程关机,就需要理解怎么实现关机的命令及程序,我们使用C语言来完成。串口助手也可以实…

    2022年7月22日
    16
  • 利用python pip以及pyCharm安装requests第三方库「建议收藏」

    利用python pip以及pyCharm安装requests第三方库「建议收藏」在利用python进行进行数据爬虫的时候,我们通常会使用requests第三方库,安装requests的方法通常有以下几种:1)利用pip进行安装pipinstallrequests2)下载代码后安装$gitclonegit://github.com/kennethreitz/requests.git$cdrequests$pythonsetup.pyinstall3)利用…

    2022年8月28日
    3
  • HTML+CSS实现导航条及下拉菜单[通俗易懂]

    HTML+CSS实现导航条及下拉菜单[通俗易懂]html+css实现下拉菜单

    2022年5月18日
    78
  • js判断是否包含指定字符串_js正则表达式匹配字符串

    js判断是否包含指定字符串_js正则表达式匹配字符串前言:有时候,我们在js中需要判断一个字符串中,是不是包含某个字符。可以采用以下方法进行判断。String对象的方法方法一:indexOf()(推荐)varstr=”123″;console.log(str.indexOf(“3”)!=-1);//trueindexOf()方法可返回某个指定的字符串值,在首次出现的位置。如果要检索的字符串值没有出现,则改方法返回-1。方法二:search()…

    2022年10月7日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号