Linux系统 _ MySql的安装与配置

1. 安装MySql

建议使用root用户角色进行安装,如果没有root权限就使用当前用户角色进行安装

  1. 测试当前系统是否有mysql,如果有,卸载自带的Mysql-libs。

    ## 测试命令
    [heather@hadoop01 mysql ]$ rpm -qa | grep -i -E mysql\|mariadb
    ## 删除命令
    [heather@hadoop01 mysql ]$ rpm -qa | grep -i -E mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps
    
  2. 如果Linux是最小化安装的系统(比如阿里云服务器),在后续安装05_mysql-community-server-5.7.16-1.el7.x86_64.rpm时可能会出 现如下错误

    [heather@hadoop01 mysql]$ sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm
    警告:05_mysql-community-server-5.7.16-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
    错误:依赖检测失败:
          libaio.so.1()(64bit) 被 05_mysql-community-server-5.7.16-1.el7.x86_64 需要
          libaio.so.1(LIBAIO_0.1)(64bit) 被 05_mysql-community-server-5.7.16-1.el7.x86_64 需要
          libaio.so.1(LIBAIO_0.4)(64bit) 被 05_mysql-community-server-5.7.16-1.el7.x86_64 需要
    
    • 卸载MySQL依赖,虽然机器上没有装MySQL,但是这一步不可少

      [heather@hadoop01 mysql]# sudo yum remove mysql-libs
      
    • 通过yum安装缺少的依赖,然后重新安装05_mysql-community-server-5.7.16-1.el7.x86_64 即可

      [heather@hadoop01 mysql]$ sudo yum install -y libaio
      [heather@hadoop01 mysql]$ sudo yum -y install autoconf
      
  3. 安装mysql数据库的rpm包,一定要按照先后顺序安装,否则报错。

    [heather@hadoop01 mysql]$ sudo rpm -ivh 01_mysql-community-common-5.7.16-1.el7.x86_64.rpm
    [heather@hadoop01 mysql]$ sudo rpm -ivh 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm
    [heather@hadoop01 mysql]$ sudo rpm -ivh 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
    [heather@hadoop01 mysql]$ sudo rpm -ivh 04_mysql-community-client-5.7.16-1.el7.x86_64.rpm
    [heather@hadoop01 mysql]$ sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm
    
    • 注意:如果报如下错误,这是由于yum安装了旧版本的GPG keys所造成,从rpm版本4.1后,在安装或升级软件包时会自动检查软件包的签名。

      warning: 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
      error: Failed dependencies:
      libaio.so.1()(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
      
    • 解决办法:

      [heather@hadoop01 mysql]$ sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm --force --nodeps
      
  4. 删除/etc/my.cnf文件中datadir指向的目录下的所有内容,如果有内容的情况下:

    • 查看datadir的值:

    datadir=/var/lib/mysql

    • 删除/var/lib/mysql目录下的所有内容:
    [heather@hadoop01 mysql]$ cd /var/lib/mysql
    [heather@hadoop01 mysql]$ sudo rm -rf ./*    //注意执行命令的位置
    
  5. 初始化数据库

    [heather@hadoop01 mysql]$ sudo mysqld --initialize --user=mysql
    
  6. 查看临时生成的root用户的密码

    [heather@hadoop01 mysql]$ sudo cat /var/log/mysqld.log 
    ## 如下内容【最后一行】: ——> oiu+fsst<2Hv就是mysql密码
    A temporary password is generated for root@localhost: oiu+fsst<2Hv
    
  7. 启动MySQL服务

    [heather@hadoop01 mysql]$ sudo systemctl start mysqld
    

2. 配置MySql

  1. 登录MySQL数据库(如果报错,给密码加单引号)

    [heather@hadoop01 mysql]$ mysql -uroot -p'oiu+fsst<2Hv'
    或者:
    [heather@hadoop01 mysql]$ mysql -uroot -p
    Enter password:   输入临时生成的密码【oiu+fsst<2Hv】
    
  2. 设置复杂密码(由于mysql密码策略,此密码必须足够复杂)

    mysql> set password=password("heathers");
    
  3. 更改mysql密码策略

    Mysql更新了密码安全策略,在执行下面命令时会报错:报错信息如下:

    mysql> set global validate_password_length=4;
    ERROR 1193 (HY000): Unknown system variable 'validate_password_length'
    mysql> set global validate_password_policy=0;
    ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
    

    解决办法查看链接:https://www.cnblogs.com/blog0403/p/14790397.html。

    出于安全性考虑,不建议设置密码太简单,下面安全策略设置忽略即可。

    mysql> set global validate_password_length=4;
    mysql> set global validate_password_policy=0;
    
  4. 设置新密码==(不建议修改)==

    mysql> set password=password("heathers");
    
  5. 进入MySQL库

    mysql> use mysql
    
  6. 查询user表

    mysql> select user, host from user;
    
  7. 修改mysql库下的user表中的root用户允许任意ip连接==(把Host内容改为%)==

    mysql> update user set host="%" where user="root";
    
  8. 刷新

    mysql> flush privileges;
    
  9. 退出

    mysql> quit;
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值