首页 > 数据库 >Linux中安装MySQL

Linux中安装MySQL

时间:2023-01-20 19:33:07浏览次数:52  
标签:8.0 -- 安装 Linux community mysql MySQL root rpm

1. 卸载系统自带的mariadb

我这里使用的是Centos7, 所以系统会自带Mariadb,需要先卸载掉,当然后面在安装mysql的过程中也会有提示

  • 查询已安装的 Mariadb 安装包:

    rpm -qa | grep mariadb
    

  • 将所有的都卸载

    yum -y remove xxx
    

    我这里只有一个,如果有多个需要全部删除

2. 下载mysql安装包 (https://www.mysql.com/downloads/)

选择开源免费的社区版进行下载:

选择操作系统:

这里没有centos版本,选择红帽就好

我这里是Centos 7.9, x86架构:

下载第一个rpm捆绑包,

捆绑包中会包含以下内容,就不用自己一个一个下载了

  • mysql-community-server数据库服务器和相关工具

  • mysql-community-clientMySQL客户端应用程序和工具

  • mysql-community-libsMySQL数据库客户端应用程序的共享库

  • mysql-community-common服务器和客户端库的通用文件

  • mysql-community-libs-compat以前的MySQL安装的共享兼容性库

3.正式进行安装

  • 在 /opt 目录下新建mysql文件夹, 将下载的安装包推送到该目录下

  • 在 /opt/mysql目录下解压安装包:
gzip mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar  # 会将.tar文件变成 .tar.gz文件
tar -zxvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar.gz  # 解压

  • 前置检查

    由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以需要给 /tmp 目录较大的权限。

    chmod -R 777 /tmp
    

    检查依赖:

    rpm -qa|grep libaio
    

    rpm -qa|grep net-tools
    

  • 开始安装

    依次执行以下命令,注意一定要按顺序,因为会有依赖关系

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

4.验证mysql是否安装成功:

mysql --version  //查看版本
rpm -qa | grep -i mysql

5.服务的初始化

为了保证数据库目录与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化:

mysqld --initialize --user=mysql

说明: --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将 该密码标记为过期 ,登录后你需要设置一个新的密码。生成的临时密码 会在日志中记录一份。

查看密码:

cat /var/log/mysqld.log

6.启动mysql服务

systemctl start mysqld.service  # 启动mysql服务
systemctl status mysqld.service  # 查看mysql服务的状态

默认情况下mysql服务是开机自启的

如不是enabled可以运行如下命令设置开机自启动

systemctl enable mysqld.service

7.登录mysql

用前面我们查看的密码进行登录

mysql -uroot -p

输入密码

8.重置密码

执行了一个命令提示我们要修改密码(因为初始化密码默认是过期的,所以查看数据库会报错)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxx';

重新登录一下mysql即可

9.Windows远程连接

这里使用的windows客户端软件是SQLYog

测试连接失败, 这是由于Mysql配置了不支持远程连接

  • 到远程Linux主机中查看3306端口是否开放

  • 到远程Linux主机中设置防火墙 (Linux中防火墙的基本使用:https://www.cnblogs.com/junlin623/p/17062973.html) 放行3306端口的数据

    firewall-cmd --zone=public --add-port=3350/tcp --permanent  #放行3306端口
    systemctl restart firewalld.service #重启防火墙
    firewall-cmd --reload  #重新载入配置
    

  • Linux中不允许远程主机通过root用户登录问题

可以看到root用户对应的主机是localhost也就是自身主机

Host列指定了允许用户登录所使用的IP,比如User=root Host=192.168.1.1, 意思就是说root用户只能通过192.168.1.1的客户端去访问; User=root Host=localhost,表示只能通过本机客户端去访问。而 %是个通配符 ,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果 Host=% ,表示所有IP都有连接权限。

注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置。

我们需要将mysql数据库user表中的root用户这个记录对应的主机进行修改

update user set host='%' where user='root';

修改成功:

刷新一下权限:

flush privileges;

此时出现了新的报错:

这个问题只会在mysql 8.0版本中出现, 原因是MySQL8.0对密码进行了加密

远程Linux主机下登录数据库,执行:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';   --这里的密码随便设置

sqlyog中重新连接成功:

标签:8.0,--,安装,Linux,community,mysql,MySQL,root,rpm
From: https://www.cnblogs.com/junlin623/p/17062850.html

相关文章

  • Linux防火墙的使用
    防火墙放行端口kali中需要进行安装(Centos7及之后的版本是自带的,无需安装):sudoaptinstallfirewalld#查看防火墙服务的状态┌──(root㉿kali)-[/home/junlin]└─#......
  • MySQL
    DBDataBase数据库数据库分类关系型数据库(SQL),通过表和表之间,行和列之间的关系进行数据的存储MySQLOracleSqlServerDB2SQLlite非关系型数据库(NoSQL,notonl......
  • vimtualbox 安装虚拟机之后屏幕过小、鼠标不同自由在虚拟机和物理主机之间切换的解决
     001、  002、  003、点击run  004、表示完成,按回车  005、  006、reboot进行重启 007、  008、 ......
  • 一些看起来很酷的Linux命令
    1.sl命令你会看到一辆火车从屏幕右边开往左边……安装$ sudo apt-get install sl运行$ sl命令有-alFe几个选项,-a An accident seems to happen. You'll ......
  • linux-安装软件
       ......
  • MySQL
    DBDataBase数据库数据库分类关系型数据库(SQL),通过表和表之间,行和列之间的关系进行数据的存储MySQLOracleSqlServerDB2SQLlite非关系型数据库(NoS......
  • 安装python
    1.官网安装地址: https://www.python.org/downloads/自定义安装:  python添加环境变量forallusers    AI学习建议安装版本:python:v3.8.10虚拟环......
  • 安装mongodb
    环境:系统:OracleLinuxServerrelease8.6(基于:RedHatEnterpriseLinuxrelease8.6(Ootpa))背景:公司开始使用oracle,所以使用了OracleLinux,给我安装mongodb带来的很......
  • 如何安装配置kafka
    最近项目需要用到kafa进行数据流处理,下面将安装部署kafka的方法简单介绍下。1:配置java环境修改/etc/bashrc文件,添加JAVA_HOMEcat/etc/bashrcexportJAVA_HOME=/root/jdk-......
  • MySQL必知必会第十四章-使用子查询
    使用子查询子查询查询(query)任何SQL语句都是查询。但此术语一般指SELECT语句。SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询。利用子查询进行过滤SELECTcus......