Linux安装mysql

Linux安装Mysql

对于MySQL数据库的安装,我们将要使用rpm的方式进行安装。那么首先我们先了解一下什么rpm?

RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。

1、安装

首先我们要 检测当前系统是否安装过MySQL相关数据库。

需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

rpm -qa							查询当前系统中安装的所有软件

rpm -qa | grep mysql			查询当前系统中安装的名称带mysql的软件

rpm -qa | grep mariadb			查询当前系统中安装的名称带mariadb的软件

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。

在这里插入图片描述

通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

在rpm中,卸载软件的语法为:

rpm -e --nodeps  软件名称

那么,我们就可以通过指令,卸载 mariadb,具体指令为:

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。

在这里插入图片描述

接下来就是将MySQL上传到服务器或者虚拟机。

Linux上安装软件常见的几种方式:

源码编译
压缩包解压(一般为tar.gz)
编译好的安装包(RPM、DPKG等)
在线安装(YUM、APT等)
以上几种方式便捷性依次增加,但通用性依次下降,比如直接下载压缩包进行解压,这种方式一般需要自己做一些额外的配置工作,但只要掌握了方法,各个平台基本都适用,YUM虽然简单,但是平台受限,网络受限,必要的时候还需要增加一些特定YUM源。
几种安装方式最好都能掌握,原则上能用简单的就用简单的:YUM>RPM>tar.gz>源码

下载官方 Mysql 包

下载mysql   MySQL :: Download MySQL Community Server (Archived Versions)

  1. 选择对应的包 如下5.7包

在这里插入图片描述

  1. 上传解压(解压后可删除安装包,节省空间)
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 
  1. 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:

    groups mysql 
    

    在这里插入图片描述

添加用户组和用户

 groupadd mysql && useradd -r -g mysql mysql

在这里插入图片描述

  1. 创建数据目录并赋予权限
  mkdir -p /data/mysql
  chown mysql:mysql -R /data/mysql
  1. 修改配置文件 vim /etc/my.cnf (没有就新建)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
  1. 初始化

    解压后的mysql-5.7.35-linux-glibc2.12-x86_64文件移动到/usr/local/mysql (文件夹名称修改为mysql不带版本号信息)

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
  1. 查看初始密码
cat /data/mysql/mysql.err

在这里插入图片描述

  1. 启动mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start

修改密码

  1. 开启免密码登陆 修改my.cnf文件 默认在/etc/my.cnf
 vim /etc/my.cnf       

在【mysqld】模块下面添加:skip-grant-tables 保存退出。

  1. 重启服务,使配置生效 。
 service mysql restart
  1. 登陆
/usr/local/mysql/bin/mysql -u root -p   //不输入密码直接敲回车键

在这里插入图片描述

  1. 刷新规则允许外部访问

    use mysql      #选择访问mysql库
    update user set host = '%' where user = 'root';      #使root能再任何host访问
    FLUSH PRIVILEGES;       #刷新 
    

5.修改密码

ALTER USER "root"@"%" IDENTIFIED  BY "root";
FLUSH PRIVILEGES;       #刷新 
  1. 退出

    quit
    把/etc/my.cnf免密删掉。
    重启服务    service mysql restart
    
  2. 登陆

/usr/local/mysql/bin/mysql -u root -p   //输入刚修改的密码root敲回车键

用户权限之创建新用户并给授权指定的数据库权限

创建mysql新用户
CREATE USER 'test'@'%' IDENTIFIED BY '123';

备注上面@后的命令解释

'%' - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问

给用户授予权限

grant all on 数据库名.数据库表 to 用户名@'%'  identified by "密码";

备注

all 可以替换为 select,delete,update,create,drop
数据库名 所有的 用*
数据库表 所有的 用*

如果是阿里云ECS,记得查看云安全组规则是否开放了3306端口,如果没有,记得加上

开放端口号

  1. 查看开放的端口号
firewall-cmd --list-all
  1. 设置开放的端口号

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    
  2. 重启防火墙并查看是否生效

    firewall-cmd --reload		
    firewall-cmd --list-all
    
    

开放端口号

  1. 查看开放的端口号
firewall-cmd --list-all
  1. 设置开放的端口号

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    
  2. 重启防火墙并查看是否生效

    firewall-cmd --reload		
    firewall-cmd --list-all
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值