mysql在linux下的安装详细步骤

文章目录


前言

系统环境Centos7.

一、从官网下载mysql8

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

如果操作系统是centos可以选择Linux-Generic

二、安装

  • 将下载的mysql tar包解压

    tar -xvf mysql mysql-8.x.x-linux-glibc2.17-x86_64.tar.xz

  • 更改目录名字

    mv /opt/mysql mysql-8.x.x-linux-glibc2.17-x86_64 /opt/mysql

  • 创建mysql用户和用户组

    groupadd mysql

    useradd -r -g mysql mysql

    #useradd -r参数表示mysql用户是系统用户,不可用于登录系统

  • 创建data目录,并更改权限

    mkdir -p /opt/mysql/data

    chown -R mysql:mysql /opt/mysql/data

  • 修改mysql配置文件my.cnf

    vi /etc/my.cnf

    内容如下:

    mysqld

    #bind-address=0.0.0.0

    port=3306

    user=mysql

    basedir = /opt/mysql

    datadir=/opt/mysql/data

    socket=/tmp/mysql.sock

    log-error=/opt/mysql/data/mysql.err

    pid-file = /opt/mysql/data/mysqld.pid

    #character config

    character_set_server=utf8mb4

    explicit_defaults_for_timestamp=true

  • 初始化 mysqld

    cd /opt/mysql

    ./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/

    初始化完成之后,查看日志

    /opt/mysql/data/mysqld.err

    找到以下内容,其中gkOQy3RC:4u?是初始化时生成的随机密码,需要记住,修改密码时会用到

    A temporary password is generated for root@localhost: gkOQy3RC:4u?

  • 把启动脚本放到开机初始化目录

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

  • 启动mysql服务

    service mysqld start

  • 登录mysql,密码为初始密码

    cd /opt/mysql

    ./bin/mysql -u root -p

  • mysql5.7修改密码步骤

    mysql> set password=password('Abcddd@20244');

    #修改远程连接并生效

    mysql> grant all privileges on . to root@'%' identified by 'Abcddd@20244';

    mysql> flush privileges;

  • mysql8 修改密码步骤

    mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Abcddd@20244';

    mysql> flush privileges;

    #修改远程连接并生效

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

    mysql> flush privileges;


总结

mysql5与mysql8在安装时,不同的地方在于修改密码的sql语句不同。

相关推荐
深紫色的三北六号9 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash13 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
于眠牧北1 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
Turnip12023 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
崔小汤呀3 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应3 天前
vi编辑器使用
linux·后端·操作系统
何中应3 天前
Linux进程无法被kill
linux·后端·操作系统