Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 480|回复: 0

CentOS7下安装mysql5.1 或升级到5.7 以及小问题的解决方案

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-4-22 14:06:28 | 显示全部楼层 |阅读模式

     正文开始

    1、首先打开终端输入以下内容下载mysql5.1的repo源(安装5.7从第二步执行

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

     

    2、下载好rpm包后安装这个包

    rpm -ivh mysql-community-release-el7-5.noarch.rpm  (5.1)

    rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm  (5.7)(安装5.7直接从这部开始即可)

     

    3、开始安装mysql-server  ,中间有选择的部分之间选择“y” 就OK了

    sudo yum install mysql-server

    yum install -y mysql-community-server(5.7)

     

    备注:(部分本机登录不需要密码)

    1、 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码

    2、 grep 'temporary password' /var/log/mysqld.log 找到root默认密码

    3、 mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。

    否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误

    4、安装好然后启动 service mysqld start

    5、直接输入 mysql -uroot -p会报以下错误,原因是mysql这个文件的权限问题,如果没有报错,则跳过

    (ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2))

    所以需要把这个文件文件的权限改为当前用户 

    sudo chown -R root /var/lib/mysql

     

     
    

    4、然后重启mysql,直接登录root账户,

    关闭:service mysqld stop

    启动:/etc/init.d/mysqld start

    或者:service mysqld restart

    重启:service mysqld restart

    #设置mysql的本机root密码,(也可以不设置密码,默认为空)
    $ mysqladmin -u root -h localhost password 'xxxxxxxx'

    刚安装后会在日志中有mysql默认密码:grep 'temporary password' /var/log/mysqld.log

     

    5、修改mysql账户远程root密码为‘123456’(也可以不设置密码,默认为空)

    use mysql;

    update user set password='123456' where user='root';

    flush privileges;(刷新数据库的作用)

     

    ====================================分割线========================

    如果想远程数据库则需要开启,远程权限和端口

    GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456"; (切记在登录数据库状态时输入其中“root”是账户    “123456”是密码,密码为空就不输入内容"")

    开启远程权限后需要刷新数据库:flush privileges;

     

    再打开数据库3306端口:
    firewall-cmd --add-port 3306/tcp --permanent
    firewall-cmd --add-port 3306/udp --permanent
    firewall-cmd --reload

    关于开启和关闭mysql

    查看mysql在线运行:service mysqld status

    关闭mysql:service mysqld stop

    启动mysql:/etc/init.d/mysqld start    或者   service mysqld restart

     

    关于修改mysql修改默认引擎具体内容如下:

    1、登录mysql后输入:show engines 则会给出当前数据库支持的引擎以及使用的引擎如下图  InnoDB |DEFAULT 表示是当前使用的引擎

    2、在(/etc/my.cnf )文件内找到 [mysqld] 然后换行输入:

    default-storage-engine=INNODB  表示将引擎修改为 lnnoDB 

    然后输入 :service mysqld stop 关闭数据库

    再输入:service mysqld restart 启动数据库  再登录数据库后输入 show engines 查看结果

     

     

     

     小问题:

    一,安装前查看是否已安装mysql    关于删除卸载mysql,或其他安装方式请参考 https://www.jb51.net/article/112356.htm

    二,解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";:https://blog.csdn.net/hjf161105/article/details/78850658

    三,卸载mysql5.1后,再次安装mysql5.7,mysql5.7无法启动,由于启动配置文件一直按照mysql5.1去启动的,所以无法启动 友情链接https://www.cnblogs.com/vickygu2007/p/5066409.html

    如果启动失败,提示“MySQL Daemon failed to start”,可以尝试先初始化mysql,输入命令:mysqld --initialize。
    如果初始化提示:
    2015-12-22T07:49:45.386095Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2015-12-22T07:49:45.388125Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
    2015-12-22T07:49:45.388153Z 0 [ERROR] Aborting
    说明数据文件夹已被创建,直接删除,让mysql自己创建即可,输入命令:
    rm -rf /var/lib/mysql
    删除后,注意:然后不需要再初始化了,直接启动mysql,它会自己初始化,输入命令:

    service mysqld start

     

     彻底卸载mysql和删除mysql残留文件

    1
    2
    [root@localhost etc]# rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
    [root@localhost etc]#  service mysqld stop   //这个命令是停止mysql服务
    [root@localhost etc]#  yum remove mysql mysql-*  //这个命令是卸载mysql

     

       有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

    1
    2
    [root@localhost ~]# rpm -e mysql  // 普通删除模式
    [root@localhost ~]# rpm -e  --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

     

    查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

    1
    find / -name mysql

    查找结果如下:

    1
    2
    3
    4
    5
    find / -name mysql
     
    /var/lib/mysql
    /var/lib/mysql/mysql
    /usr/lib64/mysql

    删除对应的mysql目录

    1
    2
    3
    rm -rf /var/lib/mysql
    rm -rf /var/lib/mysql
    rm -rf /usr/lib64/mysql

    注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

    1
    rm -rf /etc/my.cnf

     

    4、再次查找机器是否安装mysql

    1
    rpm -qa| grep -i mysql
    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-23 04:38 , Processed in 0.061458 second(s), 28 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表