Centos7.x安装mysql8

Centos7.x安装mysql8

安装过程

在官网下载Centos7对应的mysql8的tar安装包

  • 检查是否安装过mysqlrpm -qa | grep -i mariadb

    • 有安装过就卸载rpm -e --nodeps mariadb-libs
  • 给/tmp目录授权chmod -R 777 /tmp

  • 查询依赖是否安装,没安装再安装

    • rpm -qa|grep libaio 没安装的话使用yum -y install libaio
    • rpm -qa|grep net-tools 没有安装的话就yum -y install net-tools
    • yum install -y perl-Module-Install.noarch
  • 把tar保存到/opt/software目录下,并解压tar包tar xvf mysql-8.0.29-1.el8.x86_64.rpm-bundle.tar -C ../mysql8.0.29

  • 在解压的目录执行 必须按照顺序执行

    rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
    
    
    rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm
    rpm -ivh mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm
    
  • 查看mysql版本,如果显示就是安装成功,命令是: mysqladmin --version,执行完此命令可以看到mysql的版本就算成功

  • 初始化mysqld --initialize --user=mysql

  • mysql8已经默认初始化了,会给我们mysql服务默认分配一个临时的密码,存储的文件在: cat /var/log/mysqld.log

    • 查找临时密码: grep 'temporary password' /var/log/mysqld.log
  • 拿到密码后,修改密码:

    • 先设置一个难度高点的密码,后面再改: 例如: atguigU@1mgx
      • 命令是ALTER USER 'root'@'localhost' IDENTIFIED BY 'atguigU@1mgx';
    • 因为mysql8默认有密码检测安全等级,需要降低密码检测的等级
    SHOW VARIABLES LIKE 'vali%';
    #如果此时执行上述命令查询的结果是empty set就执行安装插件
    INSTALL COMPONENT 'file://component_validate_password';
    SHOW VARIABLES LIKE 'vali%';
    
    validate_password_length 8 # 密码的最小长度,此处为8。
    
    validate_password_mixed_case_count 1 # 至少要包含小写或大写字母的个数,此处为1。
    
    validate_password_number_count 1 # 至少要包含的数字的个数,此处为1。
    
    validate_password_policy MEDIUM # 强度等级,其中其值可设置为0、1、2。分别对应:0/LOW】:只检查长度。
    
    【1/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。
    
    【2/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。
    
    validate_password_special_char_count 1 # 至少要包含的个数字符的个数,此处为1。
    
    set global validate_password.policy=0;
    set global validata_password.length=4;
    
    #修改完等级之后需要退出重新换密码
    exit;
    mysql -uroot -p
    enter password: your password
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    
    • 如果忘掉密码的时候可以选择跳过密码【临时使用】

      /etc/my.cnf
      
      [mysqld]
      skip_grant_tables=1
      

远程连接

关闭防火墙systemctl stop firewalld

新增的用户默认在mysql系统表中的user表中的host字段默认是%,表示可以远程连接

我们需要让user表中的root用户可以远程连接的命令是:

#先使用mysql
use mysql;
select user, host from user;
update user set host = '%' where user = 'root';
flush privileges;

配置完之后可以使用navicat远程工具连接了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MGCoding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值