zoukankan      html  css  js  c++  java
  • linux下yum安装指定的mysql版本

    因为直接使用yum安装的mysql会是默认版本5.1的版本  但是有的同学不满足又想要其他版本的怎么办呢?

    曾时候我来提供一种方案(仅供参考):

    我们可以使用rpm包来进行指定mysql版本的安装,

    1、首先我们要选择你的要安装的msyql版本,然后去官网找到版本对应的路径

    https://dev.mysql.com/downloads/mysql/ 

    选择你要下载的版本:

    因为我用的是centos版本所以我就用 RED Hat 红帽的包

    2、选择你要下载的版本点击download

     3、然后记住这个链接地址

     你再去你的linux上进行路径的拼接即可

    wget https://dev.mysql.com/get/+要下载的版本rpm路径

    如:
    wget https://dev.mysql.com/get/mysql-community-embedded-compat-5.7.24-1.el7.x86_64.rpm   # 这就是要下载上面的 5.7.24mysql版本的rpm包

    最重要的一点先看看你的机器中有没有其他的多余的包

    yum list installed | grep mysql

    这里写图片描述

     

    如果有一点要删除不然会报错

    删除已安装mysql

    输入命令:yum -y remove mysql+版本包

    切记上面出现两个  两个都要删除

    这里写图片描述

    这里写图片描述

    这个时候你一定要确保之前的没有其他的多余的包

    下面我来下载5.7.24演示:

    wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

    安装用来配置mysql的yum源的rpm包

    rpm -Uvh mysql57-community-release-el6-9.noarch.rpm

    yum localinstall -y mysql57-community-release-el6-9.noarch.rpm   

    安装成功后在/etc/yum.repos.d/下会多出几个mysql的yum源的配置,如下:

    2.安装mysql

    yum install mysql-community-server

    3.开启mysql服务

    service mysqld start

     mysql安装成功后创建的超级用户'root'@'localhost'的密码会被存储在/var/log/mysqld.log,可以使用如下命令查看密码

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

    然后最初的时候我们要拿着这个密码去登陆的  它不要默认安装的不需要密码 也是需要密码的

    使用mysql生成的'root'@'localhost'用户和密码登录数据库,并修改 其密码,具体命令

    shell> mysql -uroot -p 

    登陆进去之后修改密码 以防止忘记以前的

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'LaowangNi123!';   # 初始设置的必须满足有大小写特殊符号8位,不满足会报错 下面再强制修改

    4.开启远程连接

    设置iptables开放3306端口

    vi /etc/sysconfig/iptables

    如果此时使用telnet远程登录mysql服务会出错:

    解决此问题的方法为:

    将localhost改成%

    进入mysql的BIN目录

     代码如下  

    mysql -u root -p

    mysql>use mysql;

    mysql>update user set host =’%'where user =’root’;

    mysql>flush privileges;

    具体分析

    1、在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。(必须要切换到mysql库内)

     代码如下  
    mysql>
    mysql>use mysql;
    mysql>select 'host' from user where user='root';     

      #查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

    然后执行:

    mysql>   update user set host = '%' where user ='root';
    
    mysql>flush privileges;

     再进行查看:

     此时的显示就是:

    #修改host值(以通配符%的内容增加主机/IP地址,当然也可以直接增加某个特定IP地址,如果执行update语句时出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 错误,需要select host from user where user = 'root';
    查看一下host是否已经有了%这个值,如果有了直接执行下面的flush privileges;即可)

    下面是强制改密码:

    5.7之后的强制改密码和之前的不同于了

    update user set authentication_string=password("新密码") where user='root';

    5.7之前的修改密码

    方法二:
    通过登录mysql系统,

    mysql -uroot -p
    Enter password: 【输入原来的密码】
    mysql>use mysql;
    mysql> update user set password=password("新密码") where user='root';
    mysql> exit; 

    所有的修改密码都要在mysql库中

    忘记原来的myql的root的密码;

    方法三:

    首先拿到操作系统的root权限,然后kill掉Mysql服务或者手动stop掉,这里我推荐使用手动stop;

    #service mysql stop


    然后执行

    # mysqld_safe --skip-grant-tables &


    1
    &,表示在后台运行,不再后台运行的话,就再打开一个终端吧。
    接着登陆MySQL修改密码

    # mysql
    mysql> use mysql;
    mysql> UPDATE user SET password=password("新密码") WHERE user='root'; 
    mysql> exit; 



    注意:如果Mysql的版本是5.7及以上的话update语句如下:

    mysql> update user set authentication_string=password("新密码") where user='root';



  • 相关阅读:
    JAVA流操作
    Ubuntu 14.04 忘记root密码
    产出与产能要平衡-《高效能人士的七个习惯》随笔三
    重新认识自我-《高效能人士的七个习惯》随笔二
    高效能人士的七个习惯 随笔一
    松下A6伺服器通信设定
    未能加载文件或程序集 或它的某一个依赖项。试图加载格式不正确的程序。问题解决
    keil中出现Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o)等问题解决办法
    c语言中static的用法,包括全局变量和局部变量用static修饰
    STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/10146188.html
Copyright © 2011-2022 走看看