我是靠谱客的博主 隐形乌龟,最近开发中收集的这篇文章主要介绍centos7安装mysql8,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

安装mysql

  • 查看是否安装mariadb # sudo rpm -qa |grep mariadb
  • 如果有就卸载 mariadb #sudo rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
  • 安装依赖 #sudo yum install libaio

(1)、下载mysql源安装包

centos没有mysql的仓库安装源,需要从mysql官网下载,repo下载页面 https://dev.mysql.com/downloads/repo/yum/ ,在此页面选择合适的版本。

如果有需要可以去官网找到对应链接

在这里插入图片描述

在这里插入图片描述

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

(2)、安装mysql源

sudo yum -y localinstall mysql80-community-release-el7-5.noarch.rpm

(3)、查是否安装成功

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

在这里插入图片描述

(4)、安装mysql

上述命令执行完之后,安装mysql

sudo yum install mysql-community-server

安装之后,重启服务

sudo systemctl start mysqld

查看mysql服务状态

sudo systemctl status mysqld

设置开机自动启动

sudo systemctl enable mysqld
sudo systemctl daemon-reload

(5)、配置以及部分命令

mysql安装完后,会在/var/log/mysqld.log文件中生成一个默认的root用户密码,查看默认密码,然后登录mysql修改

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

在这里插入图片描述

mysql登录,密码是上面查出来的

mysql -uroot -p

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test@123456';

注意:mysql8 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。

通过msyql环境变量可以查看密码策略的相关信息(执行这一步需要先修改默认密码,即执行完上一步修改才可以,否则会报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.)

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=0配置,指定密码策略:

选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件。

在这里插入图片描述

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

重启mysql服务使配置生效

sudo systemctl restart mysqld

如有需要可以再修改密码

(6)、允许远程链接

默认root用户只允许本地访问,如果远程需要就需要修改root用户远程访问权限

use mysql;
select host,user from user;

在这里插入图片描述

查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

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

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

刷新

flush privileges;

记得在开通3306端口

*如有需要再执行之前授权报错的命令即可成功,最后同样使用**flush privileges;*命令刷新。

如果遇到远程链接密码错误问题,在服务器登录修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

(7)、新建用户允许远程访问

在mysql交互环境中,用户信息包含用户名user和主机名host。因此创建用户时,用户信息是用户名@主机,如果只是本地连接数据库,默认是localhost,如果允许所有客户端(远程)连接,可以用通配符%。

#创建用户
create user 'xwj'@'%' identified with mysql_native_password by 'password';

#赋予权限
#grant all privileges on testdb to xwj;    如果想把某一个数据库的所有权限都赋值给xwj
grant all on *.* to `xwj`@`%`;   #为xwj用户赋予所有主机的所有权限,但不包含给其他账号赋予权限的权限。这里的*.*第一个*表示数据库名,第二个为表名,*.*表示对所有库所有表赋全部权限,如果要指定则改为具体的数据库名和表名

#刷新
flush privileges;
revoke all on *.* from 'xwj'@'%';      #移除用户xwj权限
drop user xwj;    #删除用户xwj

(8)、卸载mysql

sudo yum remove  mysql mysql-server mysql-libs mysql-server mysql-community-server # 快速删除
sudo rpm -qa|grep -i mysql  # 查找残留文件
sudo yum remove <文件名> # 逐个删除残留文件
whereis mysql  # 查找残留目录
sudo rm –R <残留目录> # 删除残留目录

最后

以上就是隐形乌龟为你收集整理的centos7安装mysql8的全部内容,希望文章能够帮你解决centos7安装mysql8所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部