搜索
首页数据库mysql教程Linux环境下如何安装MySQL数据库

    1.概述

    MySQL二进制安装的优点在于可以在任何路径下安装,且具有良好的灵活性,一台服务器也可以安装多个MySQL实例。这种方式的不足之处在于它是在编译过后的,因此性能不如从源代码编译的版本,并且无法灵活地定制编译参数。如果用户即不想安装最简单却不够灵活的RPM包,又不想安装复杂费时的源码包,那么已编译好的二进制包将是最好的选择。

    2.前期准备

    2.1下载mysql二进制安装包

    mysql官网:https://dev.mysql.com/downloads/mysql/

    Linux环境下如何安装MySQL数据库

    因为我下载的是mysql-8.0.23-linux-glibc2.12-x86_64.tar版本,如果有最新版本,则下载最新版本就好了。

    2.2导入mysql二进制安装包

    通过Xftp工具把安装包传输到linux系统package目录去:

    Linux环境下如何安装MySQL数据库

    3.mysql部署

    解压mysql安装包

    --切换到安装目录
    cd /app
    --解压xz压缩文件
    tar -xvf /app/package/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

    修改mysql文件夹名称

    --把mysql-8.0.23-linux-glibc2.12-x86_64修改为mysql文件夹名称
    mv /app/mysql-8.0.23-linux-glibc2.12-x86_64 /app/mysql

    创建data目录

    --在mysql根目录下创建data目录,用于存放数据
    mkdir /app/mysql/data

    创建mysql用户组和mysql用户

    --创建mysql用户组和mysql用户
    groupadd mysql
    useradd -g mysql mysql

    修改mysql目录权限

    --修改mysql目录权限
    chown -R mysql.mysql /app/mysql/

    初始化数据库

    --先切换到mysql安装目录
    cd /app/mysql
    --初始化数据库
    bin/mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data

    Linux环境下如何安装MySQL数据库

    配置mysql

    --先切换到mysql.support-files目录
    cd /app/mysql/support-files
    --在mysql/support-files创建文件my-default.cnf
    touch my-default.cnf
    --复制配置文件到/etc/my.cnf
    cp -a ./my-default.cnf /etc/my.cnf
    --编辑my.cnf
    vim /etc/my.cnf

    my.cnf输入如下配置内容:

    [client]
    port=3306
    socket=/tmp/mysql.sock
    
    [mysqld]
    port=3306
    user=mysql
    socket=/tmp/mysql.sock
    basedir=/app/mysql
    datadir=/app/mysql/data

    配置环境变量

    --编辑profile文件
    vim /etc/profile
    --配置mysql环境变量
    PATH=/data/mysql/bin:/data/mysql/lib:$PATH
    export PATH
    --使mysql环境变量生效
    source /etc/profile
    --看环境变量是否生效
    echo $PATH

    启动mysql

    cd /app/mysql/bin
    systemctl start mysqld
    or
    service mysql start

    启动mysql时候可能会遇到如下错误:

    Failed to start mysqld.service: Unit not found.

    Linux环境下如何安装MySQL数据库

    or

    Starting MySQL.Logging to '/app/mysql/data/dengwu.err'.

    ... ERROR! The server quit without updating PID file (/app/mysql/data/dengwu.pid).

    Linux环境下如何安装MySQL数据库

    解决方法如下:

    --需要安装mariadb-server
    yum install -y mariadb-server
    --然后启动mariadb服务
    systemctl start mariadb.service
    --需要的可以添加mariadb服务开机启动
    systemctl enable mariadb.service

    Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

    Linux环境下如何安装MySQL数据库

    解决方法如下:

    chown -R mysql.mysql /app/mysql/

    Starting MySQL... ERROR! The server quit without updating PID file (/app/mysql/data/dengwu.pid).

    解决方法如下:

    --查看mysql进程
    ps -ef|grep mysqld
    --杀死mysql进程
    kill -9 mysql进程ID

    然后重新启动下mysql:

    Linux环境下如何安装MySQL数据库

    4.修改mysql密码

    root用户第一次登录mysql,因为初始密码我们并不知道,一般情况下我们都会重新设置一个新的密码,具体操作如下:

    --编辑my.cnf
    vim /etc/my.cnf

    输入如下命令行:

    default_authentication_plugin=mysql_native_password

    如果忘记了密码再加上:

    --跳过密码验证(等设置了密码就去掉)
    skip-grant-tables

    然后登录mysql:

    --登录mysql
    mysql -u root -p

    然后输入命令查看mysql用户组:

    --查看mysql用户表
    select user,host,authentication_string from mysql.user;

    Linux环境下如何安装MySQL数据库

    看看root用户没有开启远程连接权限,如果没有则执行如下命令:

    --修改root用户可以远程连接
    update mysql.user set host='%' where user='root';

    开启远程连接权限后,再来修改root用户密码:

    --如果host是localhost则@字符后面是localhost,反之则是%,以host结果为准
    --修改加密规则
    alter user 'root'@'%' identified by 'qwer1234' password expire never;
    --更新一下用户的密码
    alter user 'root'@'%' identified with mysql_native_password by 'qwer1234';
    --刷新权限
    flush privileges;
    --修改root用户密码
    alter user 'root'@'%' identified by 'qwer1234';

    Linux环境下如何安装MySQL数据库

    如果防火墙开启了,则需要加入允许mysql端口访问权限,具体命令如下:

    --允许访问
    firewall-cmd --permanent --zone=public --add-port=3306/tcp
    --重新加载
    firewall-cmd --reload
    --查看是否开通访问权限
    firewall-cmd --permanent --zone=public --query-port=3306/tcp

    然后重新启动mysql:

    --重新启动mysql
    service mysql restart;

    5.配置mysql阿里云安全组策略

    登录阿里云->安全组规则->访问规则->入方向->手动添加如下策略:

    Linux环境下如何安装MySQL数据库

    使用Navicat连接成功:

    Linux环境下如何安装MySQL数据库

    以上是Linux环境下如何安装MySQL数据库的详细内容。更多信息请关注PHP中文网其他相关文章!

    声明
    本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
    什么是linux设备节点什么是linux设备节点Apr 18, 2022 pm 08:10 PM

    linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

    Linux中open和fopen的区别有哪些Linux中open和fopen的区别有哪些Apr 29, 2022 pm 06:57 PM

    区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

    linux怎么判断pcre是否安装linux怎么判断pcre是否安装May 09, 2022 pm 04:14 PM

    在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

    linux中什么叫端口映射linux中什么叫端口映射May 09, 2022 pm 01:49 PM

    端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

    linux中eof是什么linux中eof是什么May 07, 2022 pm 04:26 PM

    在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

    linux怎么查询mac地址linux怎么查询mac地址Apr 24, 2022 pm 08:01 PM

    linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

    手机远程linux工具有哪些手机远程linux工具有哪些Apr 29, 2022 pm 05:30 PM

    手机远程linux工具有:1、JuiceSSH,是一款功能强大的安卓SSH客户端应用,可直接对linux服务进行管理;2、Termius,可以利用手机来连接Linux服务器;3、Termux,一个强大的远程终端工具;4、向日葵远程控制等等。

    linux中lsb是什么意思linux中lsb是什么意思May 07, 2022 pm 05:08 PM

    linux中,lsb是linux标准基础的意思,是“Linux Standards Base”的缩写,是linux标准化领域中的标准;lsb制定了应用程序与运行环境之间的二进制接口,保证了linux发行版与linux应用程序之间的良好结合。

    See all articles

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳图形设置
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您听不到任何人,如何修复音频
    3 周前By尊渡假赌尊渡假赌尊渡假赌

    热工具

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    MinGW - 适用于 Windows 的极简 GNU

    MinGW - 适用于 Windows 的极简 GNU

    这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

    Atom编辑器mac版下载

    Atom编辑器mac版下载

    最流行的的开源编辑器

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    mPDF

    mPDF

    mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),