RPM常用命令

RPM:Red-Hat Package Manager(RPM软件包管理器)的缩写


最近在捯饬lnmp环境,nginxphp都还好,安装mysql有点费劲,网上有各种版本,查看官方文档也是有点儿没看懂,最终选择了通过rpm安装mysql,顺带着学习了学习了rpm常用命令。

  • rpm -qa 列出所有已安装软件包

  • rpm -e packagename 删除软件包

  • rpm -e --nodeps packagename 强制删除软件和依赖包

  • rpm -q packagename 查询包是否安装

  • rpm -ivh packagename 安装并显示安装进度

  • rpm -Uvh packagename 升级软件包

通过RPM安装mysql

  1. 检测是否已安装mariadb rpm -qa|grep mysql
  2. 删除已安装的mariadb rpm -e packagename
  3. mysql官网下载bundle包

    1
    2
    3
    rpm package:某个特定的包,比如server,client,shared lib等,可以单独安装
    rpm bundle:该版本所有包的集合,是把服务器端要用的都安装上,其他的不带,尤其是开发包
    Compressed TAR Archive:源码,必须用源码方式安装
  1. 依次安装各个rpm(common/libs/libs/server),顺序错了会有提示 rpm -ivh packagename
  2. 查看临时密码 sudo grep 'temporary password' /var/log/mysqld.log
  3. 登入mysql mysql -u root -p 回车 输入刚获取的密码
  4. 修改密码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #修改密码最小长度策略
    set global validate_password_length=0;

    #密码强度检查等级策略,0/LOW、1/MEDIUM、2/STRONG
    set global validate_password_policy=0;

    #修改密码
    set password for 'root'@'localhost' = password('root123');

    #开启mysql的root用户远程连接服务(%号即远程连接,IDENTIFIED BY后面跟的密码)
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

    #刷新以生效
    flush privileges;

报错

  1. Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘,权限问题,修改 sudo chown -R mysql用户组:mysql用户 /var/lib/mysql