Linux安装MySQL


注意:我习惯自己的服务器使用root用户安装,不单独再创建一个mysql用户

初衷:

写这篇文章的主要目的是为了以后自己再去安装MySQL时能有有个参照,其实自己在本地有文件存储了该流程配置,但是要一直备份,现在想要放到网上,一来只要有网就能查看,方便学习;二来也能帮助和我一样的小伙伴(其实网上该类似的文章不少,比我写的全的、好的也不计其数,自己选择适合自己的即可)。

一、tar.gz方式安装

1、安装前准备(删除历史版本)

1.1、检查是否已经安装过MySQL

执行命令

rpm -qa | grep mysql

如果已存在,则执行删除命令 后边为Mysql目录

rpm -e --nodeps mysql-xxxx

1.2、查询所有MySQL对应的文件夹

whereis mysqlm(这步骤我没查出来东西)

find / -name mysql

删除相关目录或文件

rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql

验证是否删除完毕

whereis mysqlm

find / -name mysql

1.3、检查MySQL用户组和用户是否存在

如果没有,则创建 (我不涉及这步骤)

cat /etc/group | grep mysql

cat /etc/passwd |grep mysql

groupadd mysql

useradd -r -g mysql mysql

1.4、下载安装包

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

可以去官网下载:

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

2、安装

2.1、下载目录

/opt/core/mysql

在这里插入图片描述

进行解压:

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

在这里插入图片描述

2.2、移动并重命名

mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

在这里插入图片描述

2.3、创建数据存放目录

mkdir -p /opt/data/mysqldata

cd /opt/data

chown -R root:root mysqldata

并授予root用户权限:

在这里插入图片描述

2.4、创建mysql用户组和用户并修改权限

(这步我不涉及)

groupadd mysql
useradd -r -g mysql mysql

创建数据目录并赋予权限

mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限

在这里插入图片描述

2.5、配置my.cnf

vim /etc/my.cnf

文件内容:

[mysqld]
bind-address=0.0.0.0
port=3306
user=root
basedir=/usr/local/mysql
datadir=/opt/data/mysqldata
socket=/tmp/mysql.sock

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8
symbolic-links=0

[mysqld_safe]
log-error=/opt/data/mysqldata/mysql.err
pid-file=/opt/data/mysqldata/mysql.pid
!includedir /etc/my.cnf.d

在这里插入图片描述

2.6、初始化数据库

进入mysql的bin目录

cd /usr/local/mysql/bin/

初始化:

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/opt/data/mysqldata/ --user=root --initialize

在这里插入图片描述

注意:

若报以下错误:

在这里插入图片描述

解决办法:

在这里插入图片描述

3、启动MySQL并更新配置

3.1、启动mysql

先将mysql.server放置到/etc/init.d/mysql中(后期设置开机自启)

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动:

service mysql start

ps -ef|grep mysql

在这里插入图片描述

到这里说明mysql已经安装成功并正常启动了!!

3.2、更改root 密码

首先登录mysql,前面的那个是随机生成的。

cd /usr/local/mysql/bin

./mysql -u root -p #bin目录下

在这里插入图片描述

再执行下面三步操作,然后重新登录。

SET PASSWORD = PASSWORD(‘123456’);
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;

GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

在这里插入图片描述

4、客户端连接测试

在这里插入图片描述

5、设置开机自启

先将mysql.server放置到/etc/init.d/mysql中(后期设置开机自启)

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

赋予可执行权限:

chmod +x /etc/init.d/mysql

执行chkconfig --list结果:

在这里插入图片描述

添加为服务:

chkconfig --add mysql

查看服务列表:

chkconfig --list

在这里插入图片描述

看到3、4、5状态为开或者为 on 则表示成功。如果是 关或者 off 则执行一下:

chkconfig --level 345 mysql on

重启计算机:

reboot

再次查看服务列表或者查看3306端口号

在这里插入图片描述

6、备注:

如果不希望每次都到bin目录下使用mysql命令则执行以下命令

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

二、rpm方式安装(升级)

1、安装前准备(删除历史版本)

1.1、备份数据和配置文件 (升级操作涉及)

1.1.1、备份所有数据库的数据

/usr/local/mysql/bin/mysqldump -uroot -p -A > /run/mysqlfull.sql

在这里插入图片描述
在这里插入图片描述

1.1.2、备份配置文件

cp /etc/my.cnf /etc/my.cnf.bak

在这里插入图片描述

1.2、检查是否已经安装过MySQL

执行命令

rpm -qa | grep mysql

如果已存在,则执行删除命令 后边为Mysql目录

rpm -e --nodeps mysql-xxxx

1.2.1、查询所有MySQL对应的文件夹

whereis mysqlm(这步骤我没查出来东西)

find / -name mysql

删除相关目录或文件(方面看清目录做了分行)

rm -rf /etc/rc.d/init.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/etc/selinux/targeted/tmp/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/include/mysql
/opt/data/mysqldata/mysql

验证是否删除完毕

whereis mysqlm

find / -name mysql

在这里插入图片描述

1.3、删除系统中存在的mysql依赖 (我没有用到)

yum remove mysql mysql-server mysql-libs compat-mysql51

在这里插入图片描述

1.4、停止MySQL服务 (升级操作涉及)

systemctl status mysql.service 查看状态
systemctl stop mysql.service 停止服务
systemctl start mysql.service 启动服务

在这里插入图片描述

2、开始安装(升级)

2.1、下载MySQL对应操作系统版本的rpm包

MySQL安装包下载地址

在这里插入图片描述

tar -xvf mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述

2.2、执行rpm安装

rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm

在这里插入图片描述

2.3、验证MySQL版本

mysqladmin --version

在这里插入图片描述

2.4、此时输入MySQL打开提示

在这里插入图片描述

2.5、启动MySQL服务

systemctl status mysql.service 查看状态
systemctl stop mysql.service 停止服务
systemctl start mysql.service 启动服务

在这里插入图片描述

2.6、此时输入MySQL提示连接拒绝

这是因为当我们在安装mysql的时候会自动随机产生一个密码,我们可以通过搜索mysql.log的日志查看当前密码

grep ‘password’ /var/log/mysqld.log

可以找到对应的初始密码
在这里插入图片描述

3、重置密码,设置远程权限

3.1、重置密码

(重置密码方式一) 【我使用的是这种】

alter user root@localhost identified by ‘xxxxx’;
flush privileges;

如果不限制密码强度,可以执行以下:

set global validate_password_length=4;
set global validate_pasword_policy=0;
flush privileges;

或者 (重置密码方式二)

ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘xxxxx’;
flush privileges;

或者 (重置密码方式三)

set password for root@localhost = password(‘xxxxx’);
flush privileges;

3.2、远程权限

use mysql;
update user set Host = ‘%’ where User = ‘root’;
flush privileges;

或者

GRANT ALL ON . TO ‘root’@‘%’;
flush privileges;

4、rpm方式重要文件路径说明

主要文件默认路径如下:
配置文件路径:/etc/my.cnf
数据存储目录:/var/lib/mysql
错误日志存储路径:/var/log/mysqld.log
socket文件路径:/var/lib/mysql/mysql.sock
如上参数均可以通过/etc/my.cnf参数配置文件查看和自定义。

推荐

Linux上安装Mysql

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值