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

2022-09-13 11:22:00 浏览数 (1)

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

目录

  • 下载及安装
    • wget下载源安装包
    • 安装源
    • 安装服务
  • 服务相关命令
    • 设置开机自启
  • 配置
    • 修改密码
    • 修改root用户远程访问权限
  • 卸载
    • 卸载MySQL
    • 删除文件

下载及安装

wget下载源安装包

如果没有安装wget,先安装

代码语言:javascript复制
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 下载:

代码语言:javascript复制
wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm

安装源

安装命令:

代码语言:javascript复制
yum localinstall mysql80-community-release-el7-4.noarch.rpm

检查是否安装成功

代码语言:javascript复制
yum repolist enabled | grep "mysql.*-community.*"

安装服务

代码语言:javascript复制
yum install mysql-community-server

服务相关命令

代码语言:javascript复制
# 启动服务
systemctl start mysqld
或者
service mysqld start
# 关闭服务
service mysqld stop
# 重启服务
systemctl restart mysqld
# 查看启动状态
systemctl status mysqld
或
service mysqld status

设置开机自启

代码语言:javascript复制
systemctl enable mysqld && systemctl daemon-reload

配置

修改密码

查看默认密码:

代码语言:javascript复制
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

进入数据库

代码语言:javascript复制
mysql -uroot -p

输入刚刚的临时密码,回车

修改密码(注意:密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位)

代码语言:javascript复制
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

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

代码语言:javascript复制
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 用户的相关信息:

代码语言:javascript复制
select host, user from user;

root 用户的 host,默认显示的 localhost,只支持本地访问,不允许远程访问。

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

代码语言:javascript复制
GRANT ALL ON *.* TO 'root'@'%';

如果报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT

就使用下面的命令:

代码语言:javascript复制
update user set host='%' where user ='root';

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

代码语言:javascript复制
flush privileges;

卸载

卸载MySQL

代码语言:javascript复制
yum remove mysql-community-server

删除文件

代码语言:javascript复制
rm -rf /var/lib/mysql
rm /etc/my.cnf
rm -rf /usr/share/mysql-8.0

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

代码语言:javascript复制
chmod -R 777 /var/lib/mysql

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

0 人点赞