乘风原创程序

    当前位置:首页>>数据库>>Mysql>>deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)
  • deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)
  • 2021/1/27 9:38:36
  • 下载MySQL-8.0.23
    点击下载:mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

    mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

    解压MySQL的安装包到一个目录(这里我选择的是:/usr/local)

    sudo tar -Jxv -f /home/×××shanlin/Downloads/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

    注意:/home/×××shanlin/Downloads/ 是我的浏览器保存文件的目录

    创建软链接(操作方便:可以认为是给mysql-8.0.23-linux-glibc2.12-x86_64目录起了一个别名叫mysql)

    sudo ln -s /usr/local/mysql-8.0.23-linux-glibc2.12-x86_64 mysql

    创建一个目录负责存储MySQL的数据(/data/mysql/data)和生成数据库的连接文件mysql.sock(/var/run/mysqld)

    sudo mkdir -p /data/mysql/data
    sudo mkdir -p /var/run/mysqld

    创建mysql用户组和用户

    sudo groupadd mysql
    sudo useradd -r -g mysql mysql

    给 /data/mysql/data 和 /var/run/mysqld 目录赋予权限

    sudo chown mysql:mysql -R /data/mysql/data
    sudo chown mysql:mysql -R /var/run/mysqld

    创建一个my.cnf文件
    通过 which mysqld 命令来查看mysqld的位置:我的是 /usr/local/mysql/bin/mysqld,然后通过 /usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 ‘Default options' 命令来查看my.cnf可以创建的位置:
    Default options are read from the following files in the given order:
    /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /usr/local/mysql/my.cnf ~/.my.cnf
    查看/etc/my.cnf、/etc/mysql/my.cnf、/usr/local/mysql/etc/my.cnf、/usr/local/mysql/my.cnf 如果都没找到my.cnf文件,就在 /usr/local/mysql/ 创建一个新的my.cnf文件,下面是my.cnf文件内容:

    [mysqld]
    bind-address=0.0.0.0
    port=3306
    user=mysql
    basedir=/usr/local/mysql
    datadir=/data/mysql/data
    socket=/var/run/mysqld/mysqld.sock
    log-error=/data/mysql/data/mysql.err
    pid-file=/data/mysql/data/mysql.pid
    character_set_server=utf8mb4
    symbolic-links=0
    explicit_defaults_for_timestamp=true
    default_authentication_plugin=mysql_native_password
    #解决Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)错误
    [client]
    port=3306
    socket=/var/run/mysqld/mysqld.sock
    #直接用vim创建my.cnf并写入上面的内容
    sudo vim /usr/local/mysql/my.cnf

    配置MySQL的环境变量

    #mysql 
    MYSQL_HOME=/usr/local/mysql
    PATH=$PATH:$MYSQL_HOME/bin
    export PATH MYSQL_HOME
    #把上面的内容写在profile文件的最后
    sudo vim /etc/profile
    #环境变量立即生效
    sudo source /etc/profile

    安装MySQL

    sudo /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --initialize

    正常安装后,最后会显示 :
    A temporary password is generated for root@localhost: x2yfhWE>0FiR (冒号后是随机密码,每个人都不同)
    记住冒号后的随机密码

    开启MySQL服务

    sudo /usr/local/mysql/support-files/mysql.server start

    将MySQL进程放入系统进程中

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

    在 /usr/bin 下建立指向MySQL的软连接

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

    使用随机密码登录MySQL数据库

    mysql -u root -p

    为root用户设置新密码

    alter user 'root'@'localhost' identified by '123456';