• 在CentOS7系统中安装MySQL5.7


    第一步:下载MySQL包
    > wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
    
    • 1
    第二步:安装MySQL源
    > rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
    
    • 1
    第三步:安装MySQL服务端
    > yum install -y mysql-community-server
    
    • 1

    在这一步可能会出现报错,错误信息如下:
    【报错1:】
    在这里插入图片描述
    报错原因:软件依赖mariadb组件
    解决方法:

    > yum -y remove mariadb-libs
    
    • 1

    【报错2:】
    在这里插入图片描述
    报错原因:没有配置正确的密钥URL,可能是由于密钥过期导致
    解决方法:

    > rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    
    • 1
    第四步:启动MySQL
    > systemctl start mysqld.service
    
    • 1
    第五步:检查MySQL是否启动成功
    > systemctl status mysqld.service
    
    • 1
    第六步:获取临时密码,MySQL5.7为root用户随机生成了一个临时密码
    > grep 'temporary paaaword' /var/log/mysqld.log
    
    • 1
    第七步:通过临时密码登录MySQL
    > mysql -uroot -p
    
    • 1

    使用临时密码登录后只能进行修改密码操作,不能进行其他操作。
    如果使用临时密码无法登录,可以通过修改MySQL配置文件的方式,先改成无密码登录

    • 首先停止MySQL服务进程
    > service mysqld stop
    
    • 1
    • 编辑MySQL的配置文件my.cnf
    > vim /etc/my.cnf
    
    • 1
    • [mysqld]模块中添加一行内容,忽略MySQL权限问题,直接登录
    > skip-grant-tables
    
    • 1
    • 启动MySQL服务
    > systemctl start mysqld
    
    • 1
    • 无密码直接登录数据库
    > mysql -uroot -p
    
    • 1

    回车后仍然提示要输入登录密码,直接再次点击回车即可登录成功

    第八步:修改MySQL的密码规则
    mysql> set global validate_password_policy=0
    mysql> set blobal validate_password_length=1
    mysql> alter user 'root'@'localhost' identified by 'password'
    
    • 1
    • 2
    • 3
    第九步:授权其他机器远程登录
    > grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option
    > flush privileges
    
    • 1
    • 2
    第十步:设置MySQL开机自启动
    > systemctl enable mysqld
    > systemctl daemon-reload
    
    • 1
    • 2
    第十一步:设置MySQL的字符集为UTF-8
    > vim /etc/my.cnf
    
    • 1
    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
     
    [mysql]
    default-character-set=utf8
     
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    default-storage-engine=INNODB
    character_set_server=utf8
     
    symbolic-links=0
     
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    lower_case_table_names=1
    
    # Ignore MySQL permission issues and login directly
    skip-grant-tables
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    第十二步:取消MySQL无密码登录
    > vim /etc/my.cnf
    
    • 1

    编辑my.cnf文件,删除skip-grant-tables

    第十三步:重启MySQL令配置生效
    > service mysqld restart
    
    • 1
    第十四步:防火墙开放3306端口
    > firewall-cmd --state
    > firewall-cmd --zone=public --add-port=3306/tcp --permanent
    > firewall-cmd --reload
    
    • 1
    • 2
    • 3
  • 相关阅读:
    初识猿如意开发工具
    Spring AOP(面向切面编程)是什么?
    Kafka源码分析(四) - Server端-请求处理框架
    Python实现MYSQL蜜罐
    一个菜鸟管理的学习和思考(二)
    LeetCode高频题:最长公共子序列,玩游戏A和游戏B,两兄弟加起来最多可以获得多少奖品
    智慧工地:助力数字建造、智慧建造、安全建造、绿色建造
    SkiaSharp 之 WPF 自绘 拖曳小球(案例版)
    散文:父亲的家国
    本地python连接腾讯云数据库
  • 原文地址:https://blog.csdn.net/Dominic_W/article/details/133579311