在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.错误描述
- 那么我们安装完成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 只是自己学习中的一点 未来可期 加油