Linux下载安装mysql5.7版本教程最全详解

linux下安装mysql 5.7.31

下载mysql文件

下载mysql文件5.7.31包,我已经上传到文件中。也可以点击下载 如下图所示:
msyql5.7.31

删除Linux下默认安装的MariaDB

# 查找mariadb安装包名字
rpm -qa | grep -i mariadb
# 卸载mariadb安装包,mariadb-libs-5.5.52-1.x86 是上一条命令查出的结果
rpm -e --nodeps mariadb-libs-5.5.52-1.x86

在这里插入图片描述

上传文件并解压

创建要上传的目录,这里我的目录为

cd /opt/myinstall
mkdir mysql

将mysql安装包上传至目录下,然后解压

tar -xvf mysql-5.7.31-1.el7.x86_64.tar

在这里插入图片描述

安装

rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

安装报错

如果安装最后一步server的时候,报错,说明缺少依赖包libaio
在这里插入图片描述可以点击下载 然后下载依赖包
在这里插入图片描述然后把下载的包上传到linux后执行

rpm -ivh libaio-0.3.112-1.el8.x86_64.rpm

然后在重新执行就不会报错了

rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

至此,mysql数据库就安装完成了

启动mysqld服务

执行以下命令

# 启动服务  命令后有空格会报错
systemctl start mysqld
# 查看服务状态
systemctl status mysqld

在这里插入图片描述其它命令

# 停止服务
systemctl stop mysqld
# 重启服务
systemctl restart mysqld

修改mysql的登录密码

设置跳过登录密码

vi /etc/my.cnf

在最后一行添加代码

# 跳过密码登录
skip-grant-tables

在这里插入图片描述

保存后,然后重启服务

systemctl restart mysqld

登录mysql,刚才已经设置了跳过密码登录,所以我们只要输入登录命令,回车两次就可以了

mysql -u root -p

在这里插入图片描述查看root用户的密码命令
在这里插入图片描述在这里插入图片描述修改密码为:123456
在这里插入图片描述
如果执行修改密码的sql报错

修改validate_password_policy参数的值, 修改允许的密码长度

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

然后重启服务
输入quit退出mysql交互界面
此时把刚才配置的跳过密码配置代码去掉或者注释掉就可以了。
在这里插入图片描述

然后再次重启mysqld服务

systemctl restart mysqld

然后输入命令

mysql -u root -p

输入刚才设置的密码:123456,出现mysql交互则说明刚才设置成功。

设置编码格式

修改配置文件

vi /etc/my.cnf


# 在[mysqld]下添加
collation_server=utf8_general_ci
character_set_server=utf8
default-storage-engine=INNODB
# 在[client]下添加(如果没有[client],则创建[client])
[client]
default_character-set=utf8

在这里插入图片描述保存,然后重启mysql服务

systemctl restart mysqld

登录mysql

mysql -u root -p 123456

查看mysql编码

show variables like 'character_set_%';  

在这里插入图片描述
此时可以查看修改mysql编码已经为UTF-8了

开启远程连接

登录mysql

mysql -u root -p 123456

执行以下命令

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
# 立即生效
mysql> FLUSH PRIVILEGES;

在这里插入图片描述刚才命令解释

123456是登录密码
*.* 表示所有数据库下的所有表
'root'@'%' 表示所有主机的root

如果设置报错
在这里插入图片描述
出现这个原因是因为密码设置太过于简单,mysql有密码强度校验(密码设置时必须包含大小写字母,特殊符号,数字,并且长度大于8位)
解决办法:必须修改两个全局配置参数(临时更改,如果重新进入,需要重新修改)

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

然后重新执行命令
在这里插入图片描述修改配置文件

vi /etc/my.cnf

bind-address如果是127.0.0.1,mysql只接受localhost,不接受远程连接。在bind-address后面增加远程访问IP地址或者禁掉这句话就可以让远程机登陆访问了。
如果地址是 0.0.0.0, 服务接受所有IPV4的接口;
如果地址是 ::, t服务接受所有IPV4和 IPv6 的接口;

修改端口

登录mysql

mysql -u root -p 123456

查看端口

show global variables like ‘port’;

在这里插入图片描述
可以看出现在的端口是3306
修改配置文件

vi /etc/my.cnf

在这里插入图片描述
然后保存退出
重启mysql

systemctl restart mysqld

此时就修改端口完成

猜你喜欢

转载自blog.csdn.net/m0_67391521/article/details/126034623