Linux部署MySQL


在linux部署MySQL 是个很麻烦的事情 特别是linux的版本和mysql的版本问题 今天踩了一堆坑 记录一下

部署

1.查看linux的版本

#打印当前机器的Linux版本
[root@VM-4-11-centos ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

2.进入mysql官网下载地址并下载对应版本
MySql下载地址linux版

我这里是7.9的版本 所以我就下载7

进入页面之后 点击下载rpm包 然后利用工具传送到linux服务器 推荐XFtp工具

3.安装
#安装rpm包
rpm -ivh mysql57-community-release-el7.rpm
#查看Linux的yum源是否被安装好
[root@VM-4-11-centos MySQL]# ls /etc/yum.repos.d/ -l
total 24
-rw-r–r-- 1 root root 1838 Apr 27 2017 mysql-community.repo
-rw-r–r-- 1 root root 1885 Apr 27 2017 mysql-community-source.repo
#使用yum安装mysql
yum install -y mysql-community-server
#查看MySQL是否安装成功
[root@VM-4-11-centos MySQL]# ls /etc/my.cnf #查看MySQL配置文件是否存在
/etc/my.cnf
[root@VM-4-11-centos MySQL]# which mysqld #查看MySQL服务端是否存在
/sbin/mysqld
[root@VM-4-11-centos MySQL]# which mysql #查看MySQL客户端是否存在
/bin/mysql
#启动MySQL服务器
systemctl start mysqld

如果发生密钥NO SUCH KEY这种错误 就是版本没有对应好 自己去对应一下

重置MySQL相关

在安装完成mysql之后呢 我们要去重置一下MySQL的密码来使之正常登录

1.重置mysql密码

#获取临时密码
[root@VM-4-11-centos MySQL]# sudo grep 'temporary password' /var/log/mysqld.log
2023-06-07T02:58:34.085200Z 1 [Note] A temporary password is generated for root@localhost: kQs***7OrS_M
#使用临时密码登录
[root@VM-4-11-centos MySQL]# mysql -h 127.0.0.1 -P 3306 -u root -p
Enter password: 这里输入生成的临时密码
#退出MySQl
\q

-h:表示ip地址 一般本机就是localhost或者127.0.0.1 如果是本机登录的话也可以不加
-P: 你在安装mysql时设置的端口号,一般默认是3306 如果自己安装时候更改了端口号,改了就行 一般是不用加的
​-u: 后面代指用户名,即MySQL的用户,这里就用root用户
-p:就是密码了,但是这里不用输入密码,是在按下enter键时 在Enter password: 这里输入密码,但是注意 密码不会明文显示,所以正常输入密码就好了

输入密码正确之后你会进入到这个页面
在这里插入图片描述
那么就算是登录成功了 之后执行

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxx';

按下回车 如果出现query ok的显示那么就是成功了 之后输入

flush privileges;

刷新下 就可以了

2.错误描述

  1. 那么我们安装完成MySQL之后呢 一般会想在本地或者其他机器上面去连接 这里我就用 Navicat 来做例子

首先呢 会先在Navicat连接一下 输入
在这里插入图片描述
输入完成之后 点击测试连接 有可能出现 2059,1396 等各种问题
那么我们正常解决就行

第一步:

首先将linux 的mysql 中的 用户登录的host更改为 ‘%’
这样是为了让mysql在其他机器上也能连

alter user set host='%' where user='root';
flush privileges;

第二步:

如果你是mysql8.0以上的版本 那么就要先去修改一下密码策略 因为mysql8.0版本的密码策略与7.0的不同

# 这里是修改密码策略
alter user root@localhost identified by 'password' password expire never;
# 修改完成之后再去修改一次密码
alter user root@localhost identified with mysql_native_password by 'password';
# 然后再去刷新生效
flush privileges;

基本上就可以了 这时你去查看一下root用户的 host 和 plugin 看看生效否
在这里插入图片描述

出现这种的话 基本就成功了 现在再去登录Navicat 就可以了

在这里插入图片描述
博主刚开始玩liunx 只是自己学习中的一点 未来可期 加油

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值