MySQL8.0安装(Linux - centos)

我是南城余!阿里云开发者平台专家博士证书获得者!

欢迎关注我的博客!一同成长!

一名从事运维开发的worker,记录分享学习。

专注于AI,运维开发,windows Linux 系统领域的分享!

其他中间件安装可参考下方知识库!

本章节对应知识库
Linux各种中间件安装


docker安装方法

最近安装MySQL8.0+采了不少坑,今天给大家分享自己的靠谱版本。

如果你感觉麻烦,可以采用docker大法,一条命令安装MySQL。

shell 复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

原生安装方法

注意:安装操作需要root权限

  1. 配置yum仓库

    shell 复制代码
    # 更新密钥
    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    
    # 安装Mysql8.x版本 yum库
    rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
  2. 使用yum安装MySQL

    shell 复制代码
    # yum安装Mysql
    yum -y install mysql-community-server
  3. 安装完成后,启动MySQL并配置开机自启动

    shell 复制代码
    systemctl start mysqld		# 启动
    systemctl enable mysqld		# 开机自启

    MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理

  4. 检查MySQL的运行状态

    shell 复制代码
    systemctl status mysqld

配置

主要修改root密码和允许root远程登录

  1. 获取MySQL的初始密码

    shell 复制代码
    # 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
    grep 'temporary password' /var/log/mysqld.log
  2. 登录MySQL数据库系统

    shell 复制代码
    # 执行
    mysql -uroot -p
    # 解释
    # -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
    # -p,表示使用密码登陆
    
    # 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库
  3. 修改root密码

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';	-- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
  4. 扩展,配置root的简单密码

    我们可以给root设置简单密码,如123456.

    请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码

    sql 复制代码
    set global validate_password.policy=0;		# 密码安全级别低
    set global validate_password.length=4;		# 密码长度最低4位即可
  5. 允许root远程登录,并设置远程登录密码

    默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统

    请注意,允许root远程登录会带来安全风险

    sql 复制代码
    # 第一次设置root远程登录,并配置远程密码使用如下SQL命令
    create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!';	-- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
    
    # 后续修改密码使用如下SQL命令
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
  6. 退出MySQL控制台页面

    sql 复制代码
    # 退出命令
    exit
    
    # 或者通过快捷键退出:ctrl + d
  7. 检查端口

    MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

    shell 复制代码
    netstat -anp | grep 3306

至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。


如果上方出现问题,可以参考下方命令

sql 复制代码
 # 刷新权限,生效
   flush privileges;
相关推荐
NamoAmitabha1283 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No73 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌4 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121385 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck6 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商6 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484816 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS7 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿7 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog8 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros