contos7安装mysql8以及一些配置命令

本文详细描述了如何在CentOS7.x系统中安装MySQL8.0,包括检查RPM源、配置安装、验证安装、设置root用户密码策略、远程访问权限和安全设置等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

contos7.x安装mysql8.xxx

判断是否有MySQL rpm 源信息

如果有直接通过下文步骤1下载命令下载,如果没有则通过以下步骤2的方式配置,再通过步骤1的方式下载
  1. 尝试一下直接使用 yum 安装 MySQL

    yum install mysql-community-server
    

    如果成功,表示不需要配置MySQL rpm 源信息,直接就安装完成了

  2. 如果报错
    在这里插入图片描述

    Loading mirror speeds from cached hostfile
    没有可用软件包 mysql-community-server。
    错误:无须任何处理
    

    此时没有添加安装包的源信息,需要安装 MySQL rpm 源信息

    安装 MySQL rpm 源信息
    打开 http://dev.mysql.com/downloads/repo/yum/
    在这里插入图片描述

    根据系统版本,选择对应的安装包,此处选择对应我的电脑版本CentOS 7.x,这个系统的Linux内核是 Linux 7.xx,所以我选择了标注的地址。

    拼接下载地址头:http://dev.mysql.com/get/,得到以下地址

    http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
    使用 wget + 刚才拼接的地址,下载安装包源信息

    wget  http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
    

    rpm 安装源信息

    rpm -ivh mysql80-community-release-el7-7.noarch.rpm
    

    在这里插入图片描述

安装

通过命令

yum install mysql-community-server

在这里插入图片描述

安装过程中,会提示让我们确认,一律输入 y 按回车即可
在这里插入图片描述
安装完成后,yum会自动覆盖自带的mariaDB,所以不需要我们手动卸载它

检查安装是否成功
检查一下刚才的安装是否成功

rpm -qa | grep mysql

输出:

mysql-community-libs-compat-8.0.33-1.el7.x86_64
mysql-community-icu-data-files-8.0.33-1.el7.x86_64
mysql80-community-release-el7-7.noarch
mysql-community-common-8.0.33-1.el7.x86_64
mysql-community-libs-8.0.33-1.el7.x86_64
mysql-community-server-8.0.33-1.el7.x86_64
mysql-community-client-8.0.33-1.el7.x86_64
mysql-community-client-plugins-8.0.33-1.el7.x86_64
输出类似以上内容,表示安装完成

在这里插入图片描述
检查mariaDB是否被覆盖

rpm -qa | grep mariadb

输出空,表示 mariaDB 已经被成功覆盖
在这里插入图片描述

MySQL 常用命令

  1. 启动

    systemctl start mysqld
    

    在这里插入图片描述

  2. 第一次启动后,可以查看mysql初始化密码

    grep 'temporary password' /var/log/mysqld.log
    

    在这里插入图片描述

  3. 重启

    systemctl restart mysqld
    
  4. 停止

    systemctl stop mysqld
    
  5. 查看状态

    systemctl status mysqld
    
  6. 开机启动

    systemctl enable mysqld
    systemctl daemon-reload
    
  7. 查看进程、版本信息

    ps -ef | grep mysql
    //或
    netstat -atp
    
  8. 登录

    mysql -u root -p'密码内容'
    
  9. 查看所有表

    show databases;
    
  10. 进入数据库

    use 表名
    
  11. 查看所有表

    show tables
    
  12. 查看某张表信息

    desc 表名
    
  13. select * from 表名
    
  14. delete from 表名 where field=xx
    
  15. update 表名 set field='xxx' where field='xxx';
    
  16. 登录和修改密码
    我们安装的时候,并没有设置初始密码,所以 mysql 在第一次启动的时候,会自动初始化一个密码
    通过以下这行代码,我们可以查看 mysql 自动初始化的密码:

    grep 'temporary password' /var/log/mysqld.log
    

    输出(root@localhost: 后面的是密码):

    2023-04-21T06:03:27.071550Z 6 [Note] [MY-010454] [Server] A temporary password
    	is generated for root@localhost: r2to%yZ%a)%s
    
  17. 登录
    登录mysql,一定要注意:-p和’密码’之间是没有空格的

    mysql -u root -p'r2to%yZ%a)%s'
    
  18. 修改 root 密码
    需要注意的是,默认的密码需要:大写英文 + 特殊字符 + 数字

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_123';
    
    1. 先按照mysql的要求,修改一次密码

      ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_123';
      
    2. 退出mysql

      exit
      
    3. 重新登录mysql

      mysql -u root -p'Root_123'
      
    4. 安装密码验证插件

      install plugin validate_password soname 'validate_password.so';
      
    5. 查看是否启用了插件

      select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
      

      ±------------------±--------------+
      | plugin_name | plugin_status |
      ±------------------±--------------+
      | validate_password | ACTIVE |
      ±------------------±--------------+
      输出这样的内容,表示成功启用

    6. 查看验证策略的键、值信息

      SHOW VARIABLES LIKE 'validate_password%';
      
       对于高版本的mysql,例如mysql 8,验证策略的key,是 validate_password.xxx
       +--------------------------------------+-------+
       | Variable_name                        | Value |
       +--------------------------------------+-------+
       | validate_password.check_user_name    | ON    |
       | validate_password.dictionary_file    |       |
       | validate_password.length             | 8     |
       | validate_password.mixed_case_count   | 1     |
       | validate_password.number_count       | 1     |
       | validate_password.policy             | MEDIUM|
       | validate_password.special_char_count | 1     |
       +--------------------------------------+-------+
       
       
       对于低版本的mysql,例如mysql 5.7,验证策略的key,是 validate_password_xxx
       +--------------------------------------+-------+
       | Variable_name                        | Value |
       +--------------------------------------+-------+
       | validate_password.check_user_name    | ON    |
       | validate_password.dictionary_file    |       |
       | validate_password.length             | 8     |
       | validate_password.mixed_case_count   | 1     |
       | validate_password.number_count       | 1     |
       | validate_password.policy             | MEDIUM|
       | validate_password.special_char_count | 1     |
       +--------------------------------------+-------+
      
    7. 修改密码策略和密码长度
      策略信息的 key ,是 validate_password.xxx这个格式的,所以按照如下进行设置

      1. 设置密码校验策略为:0(只验证密码长度)

        set global validate.password_policy=0;
        
      2. 设置密码最低长度=N,例如设置密码最低长度=6,也就是密码最少要设置6个字符及以上

        set global validate.password_length=6;
        
      3. 现在密码就可以按照你刚才配置的策略,来进行设置密码了

        ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
        

开放 root 账户远程登录

  1. 登录

    mysql -u root -p'密码'
    
    1. 如果你的数据库是 mysql 8 及以上

      	//1,进入数据库
      	use mysql
      	//2、修改user表
      	update user set host='%' where user='root';
      
    2. mysql 5.7 及之前,执行这行代码即可

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
      
  2. 重载授权表

    FLUSH PRIVILEGES;
    
  3. 退出

    exit
    
  4. 重启

    systemctl restart mysqld
    
  5. 端口开放
    经过实测,使用阿里云或者腾讯云,在服务器上,无需配置 iptables 端口信息但必须在阿里云或者腾讯云控制台 - 服务器 - 安全组,开放 3306端口。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D. D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值