Linux 下安装MySql 5.7

1.检查是否已经安装

命令:

rmp -qa|grep mysql

如果没有安装,应当如下图所示
在这里插入图片描述
如果有安装
使用yum命令,yum命令可以自动删除与mysql相关的依赖

yum -y remove mysql-libs-5.1.73-8.el6_8.x86_64

删除后再查看是否成功。如果没有提示则删除成功。

2.下载mysql 5.7

mysql官网下载地址
在这里插入图片描述
将下载好的压缩包上传到服务器,工具自选,我这里用的是filezilla。
解压文件,命令:

tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

解压完成后删除压缩包

rm -f mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

3.创建mysql用户及用户组

groupadd mysql
//useradd -r参数表示mysql用户是系统用户,不可用于登录系统;第一个mysql是用户组,第二个mysql是用户
useradd -r -g mysql mysql

查看用户组是否创建成功

groups mysql

在这里插入图片描述
将mysql目录访问权限赋为myql用户

chown -R mysql /home/mysql//home/mysql/mysql-5.7.29-linux-glibc2.12-x86_64

改变mysql目录的用户组属于mysql组

chgrp -R mysql /home/mysql//home/mysql/mysql-5.7.29-linux-glibc2.12-x86_64

查看权限被修改
在这里插入图片描述

4.配置mysql

//创建mysql.sock 并设置权限(mysql目录下)
mkdir temp
cd temp
//创建mysql.sock文件
touch mysql.sock
//设置权限
chown -R mysql:mysql /home/mysql/temp/mysql.sock
chmod 755 /home/mysql/temp/mysqlsock

在这里插入图片描述
创建/tmp/mysqld.pid。并设置权限

在这里插入图片描述

5.初始化mysql

bin/mysqld --initialize --user=mysql --basedir=/home/mysql/mysql-5.7.29-linux-glibc2.12-x86_64/ --datadir=/home/mysql/data/

这里遇到一个问题,问题如下
在这里插入图片描述
于是,根据提示安装libaio

yum -y install yum install  libaio-devel.x86_64

在这里插入图片描述
安装完成后重新执行初始化命令,发现又出现如下错误
在这里插入图片描述
这里是因为data目录下已经生成了一些文件,需要把这些文件删除
在这里插入图片描述
删除之后再重新执行就可以了。

6.启动与报错问题解决

1.首先,我是遇到了如下这个错误。
Redirecting to /bin/systemctl start mysql.service Failed to start mysql.service: Unit not found.
将安装目录下的mysql.server文件复制到/etc/init.d/mysql
在这里插入图片描述
将安装目录下的mysql.server文件复制到/etc/init.d/mysql

yum install -y mariadb-server
systemctl start mariadb.service

在这里插入图片描述

根据提示对对应的文件赋权限就可以了,可能会有多个。一直执行下去就行。

chown -R mysql:mysql /var/log/mariadb
chmod 755 /var/log/mariadb

2.然后,是遇到这个2002的错误
在这里插入图片描述
解决问题命令:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

3.继续登录,出现以下问题在这里插入图片描述
解决方案,在/etc/my.cnf文件中加入一行:skip-grant-tables
然后就可以免密登录,登录之后再修改root用户密码,最后一定记得删除my.cnf文件中的skip-grant-tables这句代码。

需注意的是5.7版本中没有password字段了,改为了authentication_string

update user set authentication_string=password('***') where user='root';

4.修改后第一次登录会让你重新设置密码

alter user 'root'@'localhost' identified by 'your password'

在这里插入图片描述
5.使用Navicat连接时出现以下错误
在这里插入图片描述

登录服务器,执行

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123..' WITH GRANT OPTION;

然后就可以连接了

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值