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语句不同。

相关推荐
程序员阿灿7 分钟前
CentOS服务器能ping通却无法yum install:指定镜像源解决
linux·服务器·centos
丑过三八线19 分钟前
在Linux下安装Gitlab
linux·运维·gitlab
异常君25 分钟前
MySQL 事务实现机制:从原理到实践的深度解析
后端·mysql
Paper_Love38 分钟前
Linux-ftp tftp vsftpd区别
linux
s_little_monster1 小时前
【Linux】线程互斥之线程加锁
linux·运维·经验分享·redis·笔记·学习·学习方法
玛奇玛丶2 小时前
面试官:MYSQL自增id超过int最大值怎么办?
后端·mysql
rgb0f02 小时前
MySQL视图相关
数据库·mysql·oracle
来鸟 鸣间2 小时前
pidstat指令分析
linux
长流小哥2 小时前
Linux网络协议栈深度解析:从数据封装到子网划分的底层架构
linux·网络协议·架构
冰冷的bin2 小时前
【Linux】解决ssh连接失败问题
linux·ssh