linux下安装mysql

Linux下安装MySQL

概述

简单介绍MySQL是什么,运用场景。在Linux操作系统(默认64位)下安装MySQL需要注意的点,以及通过navicate 16连接本地MySQL实现图形化操作。

注意:需要root权限,或者您能正常使用sudo提权。

MySQL简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL作为网站数据库。[1]

一、下载MySQL

首先需要登陆到MySQL官网,选择“下载"->"MySQL Community (GPL) Downloads »"->"MySQL Community Server"。

您将会得到如下类似界面:

MySQL Community Server

如果您未找到,也可以点击:MySQL Community Server进入该界面。

  1. 进入下载界面后,选择Archives获取以往版本,最新版本您可能获取不了与之对应MySQL的包(例如:JDBC的jar包)

  2. 默认选择第一项:

    img

    当然,如果您也可以自行选择合适版本。

  3. 下载完成,您应该能找到对应的tar.xz压缩包。例如我下载得到的:

    $ cd Downloads/
    $ ls
    mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz
    

如果您能够正确的找到tar.xz压缩包,那么安装MySQL的第一步就完成了😆,是不是很轻松呢!

二、安装MySQL

在MySQL 8.0以后,其默认您安装的位置在/usr/local目录下,如果您安装在其他目录下,MySQL服务会无法启动,需要自行修改配置文件。为了方便您的安装,所以笔者选择安装在/usr/local目录下。

1. 解压并移动

  1. 解压MySQL的tar.xz压缩包:

    $ tar -xvf mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz # 解压tar.xz文件,该tar.xz文件为笔者自己下载的文件,以您自己情况修改命令
    $ ls
    mysql-8.1.0-linux-glibc2.28-x86_64/  mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz 
    

    可以看到已经成功解压文件,得到mysql-8.1.0-linux-glibc2.28-x86_64/目录。

  2. 移动目录

    1. 由于MySQL压缩包解压目录名太长(不方便后续配置),所以我们重命名为mysql
    $ mv mysql-8.1.0-linux-glibc2.28-x86_64 mysql
    $ ls
    mysql/  mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz
    
    1. 拷贝至/usr/local目录下,注意:这里需要root权限
    $ sudo cp mysql/ /usr/local/ -r
    $ cd /usr/local/
    $ ls
    bin  etc  games  include  lib  man  mysql  sbin  share  src
    

    从ls命令下,我们可以看到/usr/local目录下已经成功存在mysql目录。

您已经成功完成三分之一的步骤,是不是很容易!

2. 配置并本地化MySQL

  1. 配置mysql组和成员

    $ sudo groupadd mysql
    $ sudo useradd -g mysql mysql
    $ sudo chown -R mysql:mysql /usr/local/mysql/
    
  2. 配置基础MySQL配置文件

    $ sudo vi /etc/my.cnf
    

    通过vi编辑MySQL配置文件,默认/etc目录下并不存在my.cnf文件。

    使用'ctrl+shift+v'快捷键粘贴以下内容到my.cnf文件中:

    [mysqld]
        basedir = /usr/local/mysql
        datadir = /usr/local/mysql/data
        socket = /usr/local/mysql/mysql.sock
        character-set-server=utf8
        port = 3308
    [client]
        socket = /usr/local/mysql/mysql.sock
        default-character-set=utf8
    

    输入Esc退出vi的编辑模式,再输入:x保存退出文件。

    上述内容主要配置一下几点:

    1. 设置MySQL服务器与客户端

    2. 设置MySQL服务端的路径、套接字、字符集、端口(注意:MySQL默认端口为3306,笔者有其他需求,所以修改为3308)。

    3. 设置MySQL客户端的套接字、默认字符集。

  3. 本地化MySQL

    $ pwd 
    /usr/local/mysql # 确定自己目前在mysql目录下
    $ cd bin/
    $ sudo ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
    

    上述命令主要有几点:1. 设置MySQL的用户为mysql,2. 设置mysql的本地根路径basedir,设置MySQL的本地数据路径datadir,3. 初始化。

    如果您之前配置与笔者一致,那么便不需要修改。如果您自定义安装MySQL,那么请根据实际情况进行调整

    如果没有错误的话,您应该会得到如下类似输出:

    img

    其中红色框内为MySQL自动生成的随即密码,在下面的步骤中会用到。请务必保留。

  4. 启动MySQL

    $ cd /usr/local/mysql/ # 回到mysql目录下
    $ ls -al
    总计 324
    drwxr-xr-x 10 mysql mysql   4096 11月12日 16:52 ./
    drwxr-xr-x 11 root  root    4096 11月12日 15:49 ../
    drwxr-xr-x  2 mysql mysql   4096 11月12日 15:49 bin/
    drwxr-x---  7 mysql mysql   4096 11月12日 16:52 data/
    drwxr-xr-x  2 mysql mysql   4096 11月12日 15:49 docs/
    drwxr-xr-x  3 mysql mysql   4096 11月12日 15:49 include/
    drwxr-xr-x  6 mysql mysql   4096 11月12日 15:49 lib/
    -rw-r--r--  1 mysql mysql 279863 11月12日 15:49 LICENSE
    drwxr-xr-x  4 mysql mysql   4096 11月12日 15:49 man/
    srwxrwxrwx  1 mysql mysql      0 11月12日 15:54 mysql.sock=
    -rw-------  1 mysql mysql      6 11月12日 15:54 mysql.sock.lock
    -rw-r--r--  1 mysql mysql    666 11月12日 15:49 README
    drwxr-xr-x 28 mysql mysql   4096 11月12日 15:49 share/
    drwxr-xr-x  2 mysql mysql   4096 11月12日 15:49 support-files/
    

    如果没有意外,您应该能够得到如上的mysql目录内文件,其中data目录用于保存您使用MySQL的数据,例如库数据;support-files用于保存MySQL服务程序;bin目录下则存在有MySQL启用程序。

    进入support-files目录下,启动MySQL服务:

    $ pwd # 确定位置
    /usr/local/mysql
    $ cd support-files/ # 进入
    $ ls
    mysqld_multi.server*  mysql-log-rotate  mysql.server*
    $ sudo ./mysql.server start
    Starting MySQL
    .Logging to '/usr/local/mysql/data/aaron-PC.err'.
    .
    

    初次启用会配置日志信息,这个我们无需在意。只要没有报错,那么我们便成功启用MySQL服务。

    启动MySQL:

    $ cd ../bin/
    $ ls
    ibd2sdi*         my_print_defaults*    mysqld*         mysql_migrate_keyring*      mysql_upgrade*
    innochecksum*    mysql*                mysqld-debug*   mysqlpump*                  perror*
    lz4_decompress*  mysqladmin*           mysqld_multi*   mysql_secure_installation*  zlib_decompress*
    myisamchk*       mysqlbinlog*          mysqld_safe*    mysqlshow*
    myisam_ftdump*   mysqlcheck*           mysqldump*      mysqlslap*
    myisamlog*       mysql_config*         mysqldumpslow*  mysql_ssl_rsa_setup*
    myisampack*      mysql_config_editor*  mysqlimport*    mysql_tzinfo_to_sql*
    

    您会看到一大堆程序,我们只需要关系mysql程序即可。

    $  ./mysql -u root -p
    

    输入在步骤3得到的密码,那么您应该能够进入MySQL:

    img

如果万事大吉的话,可以说您已经安装完成MySQL了,接下来的只不过是锦上添花。

安装MySQL是不是很简单😉!

三、优化

1. 添加环境变量

如果希望能够快速启动mysql,那么您可以尝试将mysql和mysql.server添加入shell配置文件中。【由于笔者的shell为fish,那么笔者将按照fish习惯进行编写。您可以自行查找您的shell对应的配置习惯】

$ vi ~/.config/fish/config.fish # 进入fish配置文件

set -x PATH /usr/local/mysql/bin/ $PATH # 设置在fish SHELL中MySQL的环境变量

如果您是zsh或者bash的SHELL环境,您可以通过加入下面的环境变量:

export PATH=$PATH:/usr/local/mysql/bin/

由于每次启动MySQL都需要启动MySQL服务,但是笔者不希望该服务开机自启动,于是便配置了两个fish SHELL下的函数来支持:

function web_on
    cd /usr/local/mysql/support-files/ && sudo ./mysql.server start
    echo -e "mysql服务已启动"
end

function web_off
    cd /usr/local/mysql/support-files/ && sudo ./mysql.server stop
    echo -e "mysql服务已关闭"
end

这样,笔者便可以通过web_onweb_off来控制MySQL服务的启用与停止。

2. 修改密码

MySQL自动生成的密码不容易记忆,如果您想要修改密码,可以进行如下操作:

$ mysql -u root -p # 进入MySQL

如果您无法进入,且之前的步骤都能够顺序进入,那么考虑您的密码是否输入正确或者您的计算机是否启用mysql服务。

得到如下输出:

img

修改密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 

上述命令的作用便是直接修改本地用户的信息,使得密码被修改为123456

3. 使用navicat

navicat是一个数据库管理和设计工具,您可以通过图形化界面操纵数据。

概述阶段,我们就已经提到navicat,您可以通过点击链接下载它。

如果成功安装,您应该会得到如下界面:

点击连接->MySQL创建新连接,如下:

需要注意的是,navicat默认主机地址为:localhost,您需要修改为127.0.0.1,否则可能连接出错。

如果一切顺利,那么便可以在navicat上操纵MySQL:



  1. 百度百科 ↩︎

posted @ 2023-11-12 18:02  木木亚伦  阅读(336)  评论(0编辑  收藏  举报