mysql 5.7 安装教程 附带脚本问题记录及解决

本文提供了一步一步的MySQL 5.7在Linux系统的安装指南,包括从下载安装包到初始化数据库,设置root密码,开启远程访问权限以及防火墙配置。在安装过程中,还会遇到的坑以及解决方法也有详细记录,适合初学者参考。
摘要由CSDN通过智能技术生成

引言:mysql数据库安装linux版本,附带多次踩过的坑,记录一下,也给大家做个参考。

安装包地址:https://pan.baidu.com/s/1DHGGkMBmg7wmz6RBvLshLQ 提取码:y8t3

一:安装前准备
(1)先去官网下载5.7版本,嫌麻烦可直接在上方分享的网盘内下载,还有其他学习资料分享,rpm离线安装包方式安装,简单快捷。 将tar包暂时放入opt文件夹下,只做示例,具体位置自己选择。

(2)删除已有mysql,先输入以下命令查看本机自带环境
rpm -qa | grep mysql
rpm -qa |grep -i mariadb

(3)如果存在mariadb-libs-5.5.56-2.el7.x86_64等,则删除
rpm -e mariadb-libs-5.5.56-2.el7.x86_64

 #问题记录:若出现
 #error: Failed dependencies:
 # libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
 # libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64

解决方案:yum remove mariadb-libs-5.5.56-2.el7.x86_64
#如果无网络上方yum卸载失败,则强制卸载mariadb:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

(4)再次确认已经删除
rpm -qa | grep mysql
rpm -qa | grep -i mariadb

(5)解压mysql-rpm包(-C 之后接解压后的地址如/opt/mysql)
tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql

(6)安装 进入刚刚填入的地址

      cd /opt/mysql
      rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
      rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
      rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
      rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

(7)初始化mysql(一般选择安全模式初始化较好)
#初始化mysql
#安全”模式来初始化,为 root 用户生成一个root 账户密码并将该密码标记为过期
mysqld --initialize
#不使用安全”模式来初始化,不会为 root 用户生成一个密码
mysqld --initialize-insecure

(8)启动mysql服务
service mysqld start

      #问题记录:若出现

      #Job for mysqld.service failed because the control process exited with error code. See "systemctl status                                      # mysqld.service" and "journalctl -xe" for details.
      rm -rf /var/lib/mysql 
      service mysqld restart(重启服务)

     systemctl enable mysqld(防火墙设置)
     systemctl start mysqld

(8)服务启动成功后查找root初始随机密码
cat /var/log/mysqld.log | grep ‘temporary password is generated’
最后的小段字符串即为初始密码:如“+pNoqVboJ4<>”

(9)登录并修改root密码
mysql -u root -p 回车输入初始密码,进入mysql命令界面如下。
mysql> set password=‘Abcde@123’;

     #问题记录:若密码太简单出现报错

     #若设密码为'123456' 出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements(密码策略问题异常信息)
     #设置密码策略(https://blog.csdn.net/hello_world_qwp/article/details/79551789)
     #1、查看 mysql 初始的密码策略,
     SHOW VARIABLES LIKE 'validate_password%';
     #2、设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
     set global validate_password_policy=LOW;
     #3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
     set global validate_password_length=6; 

    #4重新设置密码(下方两种方式二选一)
    mysql> set password='123456';
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

(9)若想同网段内其他主机能够访问(一般都需要开启,除非是生产环境,只准本机查询),则需要开启授权远程访问
mysql> grant all privileges on . to ‘root’@’%’ identified by ‘123456’;

(10)Linux开通mysql服务的防火墙端口
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --zone=public --add-port=3306/tcp --permanent #开启3306端口
firewall-cmd --reload #重启防火墙 (开放完新的端口后,需要重新启动防火墙)

(11)如果出席问题解决不了,需要卸载mysql进行重装

    rpm -qa | grep -i mysql (查看已安装部分)
    #强制卸载
    rpm -e --nodeps mysql-community-common-5.7.28-1.el7.x86_64
    rpm -e --nodeps mysql-community-libs-5.7.28-1.el7.x86_64
    rpm -e --nodeps mysql-community-client-5.7.28-1.el7.x86_64
    rpm -e --nodeps mysql-community-server-5.7.28-1.el7.x86_64

    #然后删除mysql相关的服务。
    chkconfig --list | grep -i mysql
    chkconfig --del mysql

    #然后找出OS中分散的mysql文件夹
    find / -name mysql
    #删除查找出来的mysql文件夹
    rm -rf /run/lock/subsys/mysql
    rm -rf /etc/selinux/targeted/active/modules/100/mysql
    rm -rf /etc/selinux/targeted/tmp/modules/100/mysql
    rm -rf /var/lib/mysql
    rm -rf /var/lib/mysql/mysql
    rm -rf /usr/lib64/mysql
    rm -rf /usr/share/mysql
    rm -rf /etc/my.cnf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值