• linux上安装MySQL


    环境:centos7   mysql8.0.18

    编译安装参见:https://www.cnblogs.com/fanshudada/p/9781794.html

    下面使用rpm安装

    一、下载mysql服务软件包

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

      rpm package:是某个特定的包,比如server,client,devle等    
      rpm bundle:是该版本所有包的集合                                         
      Compressed TAR Archive,是源码,必须用源码方式安装  

      Compatibility Libraries:兼容库  

      Shared Libraries:共享库  

      Development Libraries:开发库  

      Test Suite:测试套件

      Client Utilities:客户端工具

      下载时注意选则好对应的版本

    二、安装

      相关依赖包:openssl  openssl-devel  libaio    libaio-devel

      (1)rpm -ivh  mysql-community-libs-8.0.18-1.el7.x86_64

      报错信息:

      error: Failed dependencies:

      mariadb-libs is obsoleted by mysql-community-libs-8.0.18-1.el7.x86_64

      原因:mariadb-libs和 mysql-community-libs冲突

      解决办法:卸载mariadb-libs

      a.查询mariadb-libs的包名

      [root@izm5e8nyz28va3a786y465z src]# rpm -qa |grep mariadb

      mariadb-libs-5.5.64-1.el7.x86_64

      b.卸载该包

       [root@izm5e8nyz28va3a786y465z src]# rpm -ev mariadb-libs-5.5.64-1.el7.x86_64 或   rpm -ev --nodeps  包名  (不卸载相关依赖)

        error: Failed dependencies:

        libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-7.el7.x86_64
        libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-7.el7.x86_64

        报错原因:postfix是mariadb 的依赖包,要先卸载它

        [root@izm5e8nyz28va3a786y465z src]# rpm -qa |grep postfix

        postfix-2.10.1-7.el7.x86_64
        [root@izm5e8nyz28va3a786y465z src]# rpm -ev postfix-2.10.1-7.el7.x86_64
        error: Failed dependencies:
        /usr/sbin/sendmail is needed by (installed) redhat-lsb-core-4.1-27.el7.centos.1.x86_64
        [root@izm5e8nyz28va3a786y465z src]# rpm -qa |grep redhat-lsb
        redhat-lsb-core-4.1-27.el7.centos.1.x86_64
        redhat-lsb-submod-security-4.1-27.el7.centos.1.x86_64
        [root@izm5e8nyz28va3a786y465z src]# rpm -ev redhat-lsb-core-4.1-27.el7.centos.1.x86_64
        Preparing packages...
        redhat-lsb-core-4.1-27.el7.centos.1.x86_64

        [root@izm5e8nyz28va3a786y465z src]# rpm -ev postfix-2.10.1-7.el7.x86_64

        Preparing packages...
        postfix-2:2.10.1-7.el7.x86_64

        上述步骤成功卸载掉mariadb-libs的依赖
        [root@izm5e8nyz28va3a786y465z src]# rpm -ev mariadb-libs-5.5.64-1.el7.x86_64
        Preparing packages...
        mariadb-libs-1:5.5.64-1.el7.x86_64

        继续安装:

        [root@izm5e8nyz28va3a786y465z src]# rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
        warning: mysql-community-libs-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
        Preparing... ################################# [100%]
        Updating / installing...
        1:mysql-community-libs-8.0.18-1.el7################################# [100%]

        mysql-community-libs-8.0.18-1.el7包安装成功

        (2) rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm

        (3) rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm

        (4) rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm 

          error: Failed dependencies:

          libaio.so.1()(64bit) is needed by mysql-community-server-8.0.18-1.el7.x86_64

          libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.18-1.el7.x86_64
          libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.18-1.el7.x86_64

          解决依赖关系:

          [root@izm5e8nyz28va3a786y465z src]# yum list |grep libaio

          libaio.i686 0.3.109-13.el7 base
          libaio.x86_64 0.3.109-13.el7 base
          libaio-devel.i686 0.3.109-13.el7 base
          libaio-devel.x86_64 0.3.109-13.el7 base

          查询到4个相关的依赖包,只需安装libaio.x86_64    libaio-devel.x86_64

          yum  -y install  libaio.x86_64    libaio-devel.x86_64

          [root@izm5e8nyz28va3a786y465z src]# rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm 

          warning: mysql-community-server-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
          Preparing... ################################# [100%]
          Updating / installing...
            1:mysql-community-server-8.0.18-1.e################################# [100%]

        (5)rpm -ivh mysql-community-devel-8.0.18-1.el7.x86_64.rpm 

          error: Failed dependencies:

          pkgconfig(openssl) is needed by mysql-community-devel-8.0.18-1.el7.x86_64

          解决依赖关系:

          yum  -y  install  openssl  openssl-devel

          [root@izm5e8nyz28va3a786y465z src]# rpm -ivh mysql-community-devel-8.0.18-1.el7.x86_64.rpm 

          warning: mysql-community-devel-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
          Preparing... ################################# [100%]
          Updating / installing...
          1:mysql-community-devel-8.0.18-1.el################################# [100%]

        至此Mysql安装成功

        小结:1. 卸载掉冲突组件  mariadb

            rpm -ev redhat-lsb-core-4.1-27.el7.centos.1.x86_64  postfix-2.10.1-7.el7.x86_64   mariadb-libs-5.5.64-1.el7.x86_64

           2.安装相关依赖:

            yum  -y  install  openssl  openssl-devel  libaio    libaio-devel

    三、mysql服务设置

       1.启动mysql服务:systemctl start mysqld.service

        查看MySQL服务是否启动:netstat -tunpl |grep mysqld

        

       2.登录MySQL修改密码

        (1)登录mysql

        2种方法:跳过密码验证登录   或    查看初始密码登录

         a.查看初始密码登录

        cat  /var/log/mysqld.log

        ...   2019-11-11T14:28:57.523108Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ,2sg6>HrQdF!    

        标红加粗部分为初始密码    mysql -uroot  -p    键入密码可以登录MySQL

        b.跳过密码验证登录

        修改my.cnf文件,在[mysqld]区域下加入skip-grant-tables  重启MySQL

        [root@izm5e8nyz28va3a786y465z ~]# find / -name my.cnf
        /etc/my.cnf

        [root@izm5e8nyz28va3a786y465z ~]# vim /etc/my.cnf 

        

        [root@izm5e8nyz28va3a786y465z run]# systemctl restart mysqld.service

        [root@izm5e8nyz28va3a786y465z run]# mysql   #可直接登录MySQL

        注意:修改密码后,将my.cnf文件内容还原

        (2)修改密码,2sg6>HrQdF!sf

        mysql> alter user 'root'@'localhost' identified by 'root123'; 

        ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

        原因:密码设置的太过简单,初始密码方针:必须包含数字、大写字母、小写字母、特殊符号、长度8位以上。

        mysql> flush privileges;

      3.设置字符编码(从MySQL8.0开始,默认字符集就是utf8mb4 了) 

        # 当前session 

        set session character_set_server='utf8';

        set session collation_server='utf8_bin';

        set names 'utf8'; 

        # 全局

        set global character_set_server='utf8'; 

        set global collation_server='utf8_bin';

        #配置文件(/etc/my.cnf)

        [client]

        default-character-set = utf8mb4  #客户端字符编码

        [mysqld]

        character-set-server = utf8mb4  #服务端字符编码

        查看默认字符集:

        show global variables like '%character_set%';

        查看支持的字符集:

        show character  set;

      4.设置远程登录用户和密码

         1.设置已有用户远程登录

          update  user  set  Host='%'  where  User='root';

          flush  privileges;

         2.新建远程登录用户

          mysql> create user 'xiaobai' identified by 'Abc1234!';

          mysql> grant all privileges on *.* to 'xiaobai'@'%' with grant option;

          mysql>flush  privileges;

          连接失败,提示  验证插件'caching_sha2_password'不能loade

          原因:新版本的MySQL使用的是caching_sha2_password验证方式,但此时的navicat还没有支持这种验证方式

          解决办法:更改加密方式

            查看用户加密方式:

            mysql> select user,plugin from user where user='root';
            +------+-----------------------+
            | user | plugin |
            +------+-----------------------+
            | root | caching_sha2_password |
            +------+-----------------------+

            更改加密方式:

            mysql> alter user 'root'@'%' identified by ',2sg6>HrQdF!sf' password expire never;    #设置密码永不过期(此步非必须)

            mysql>  ALTER USER 'root'@'%' identified with mysql_native_password BY ',2sg6>HrQdF!sf';  #设置为老的加密方式

            mysql> select user,plugin from user where user='root';    #加密方式已修改成功
            +------+-----------------------+
            | user | plugin |
            +------+-----------------------+
            | root | mysql_native_password |
            +------+-----------------------+

             刷新权限:flush  privileges    #可连接成功

           

     

  • 相关阅读:
    Verilog非阻塞赋值的仿真/综合问题 (Nonblocking Assignments in Verilog Synthesis)上
    异步FIFO结构及FPGA设计 跨时钟域设计
    FPGA管脚分配需要考虑的因素
    An Introduction to Delta Sigma Converters (DeltaSigma转换器 上篇)
    An Introduction to Delta Sigma Converters (DeltaSigma转换器 下篇)
    中国通信简史 (下)
    谈谈德国大学的电子专业
    中国通信简史 (上)
    Verilog学习笔记
    Verilog非阻塞赋值的仿真/综合问题(Nonblocking Assignments in Verilog Synthesis) 下
  • 原文地址:https://www.cnblogs.com/fanshehu/p/11838596.html
Copyright © 2020-2023  润新知