保姆式 linux安装Mysql5.7(没有长篇大论)

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

1.先安装wget(有的话直接忽略)

yum install wget
复制代码

2.下载mysql的rpm

wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
复制代码

3.安装mysql的rpm

rpm -ivh mysql80-community-release-el7-3.noarch.rpm
复制代码

4.修改 /etc/yum.repos.d/mysql-community.repo 文件

vim /etc/yum.repos.d/mysql-community.repo
复制代码

QQ图片20211008230939.png

将 [mysql57-community] 下的 enabled 设置为1,表示打开5.7
将 [mysql80-community] 下的 enabled 设置为0,表示关闭8.0

如果想安装8.0则反之5.7设置为0,8.0设置为1

修改完 :wq 保存并推出

5.安装 mysql

yum -y install mysql-community-server
复制代码

这里我是安装在阿里云 conterOS 8 上报了错误

All matches were filtered out by modular filtering for argument: mysql-community-server

Error: Unable to find a match: mysql-community-server

解决办法:**先执行 yum module disable mysql,

再执行yum -y install mysql-community-server**

QQ图片20211009221453.png

6.查看Mysql状态

systemctl status mysqld.service
复制代码

7.启动Mysql

启动:systemctl start mysqld.service
关闭:systemctl stop mysqld.service
状态查看:systemctl status mysqld.service
开机自启:systemctl enable mysqld.service

可能遇到的错误:

Job for mysqld.service failed because the control process exited with error code.
See "systemctl status mysqld.service" and "journalctl -xe" for details.
复制代码

网上搜到的解决办法很多,觉得最彻底的解决办法就是彻底卸载mysql然后重装,毕竟重启和重装能解决百分之九十的问题,由于这篇主要是说的是安装,所以卸载就放在另外一个帖子,卸载完成后重新再来一遍。

彻底卸载mysql方法: linux彻底删除mysql服务 - 掘金 (juejin.cn)

8.登录mysql,修改root用户密码

由于我们是第一次启动,没有配置mysql账户密码,需要先找出此时root用户的临时密码

grep "password" /var/log/mysqld.log
复制代码

image.png

注意:执行该命令没有找到临时密码或者是没有任何返回信息,检查一下mysql是否正确安装,是否正常启动。实在找不出问题那么就使用究极绝招——重装mysql。

这里看到我的临时密码是:26zTLDVr#BBu ,得到临时密码后登录mysql

mysql -uroot -p临时密码

mysql -uroot -p26zTLDVr

注意事项:

a、如果临时密码中有字符 ),需要转义改为 \ ),不然会提示字符异常

b、-u-p 后面不要有空格,不然会提示密码错误

修改密码之前先修改密码验证策略,否则设置的密码太过于简单通过不了密码验证策略

set global validate_password_policy=0;
set global validate_password_length=4;
复制代码

修改完密码策略后再修改密码

alter user 'root'@'localhost' identified by '修改后密码';
复制代码

修改密码成功后,输入quit退出,然后使用新密码重新登录。

mysql -uroot -p
复制代码

9.设置数据库用户在所有ip下都可以访问,这里设置root用户

不设置这一步就没法通过navicat远程连接mysql

其中root为用户,%表示所有权限

rant all privileges on *.* to 'root'@'%' identified by '刚刚修改后的密码' with grant option;
复制代码

刷新mysql的系统权限相关表

flush privileges;
复制代码

重启mysql服务:service mysqld restart

重启完成后就可以远程连接使用mysql了。

10.如果是阿里云服务器需要在安全组里面把3306的端口添加上,出方向和入方向都要添加

image.png

猜你喜欢

转载自juejin.im/post/7017992426795532324
今日推荐