Linux下RPM安装MySql 5.7.33及一键安装脚本

Linux下通过RPM安装MySql 5.7.33

  • 下载MySql相关包

在这里插入图片描述

  • 相关包有依赖,需要依次安装
rpm -ivh mysql-community-common-5.7.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.33-1.el7.x86_64.rpm
  • 初始化密码(初始完成后密码为空)
mysqld --initialize-insecure --user=mysql
  • 启动MySql
systemctl start mysqld
  • 登录并更新密码及授予远程连接
mysql -u root --skip-password

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURPASSWD';
grant all privileges on *.* to 'root'@'%'  IDENTIFIED BY '2660c1dd1942844f';
update mysql.user set grant_priv='Y' where user='root';
flush privileges;
  • 相关一键安装脚本

安装前需要将相关rpm包与脚本放在同一目录下

function IN_MYSQL () {
    local PACK_PARH=$(cd $(dirname $0); pwd)
    cd $PACK_PATH
    pkill mysql
    sleep 5
    for i in `rpm -qa | grep msyql`;do rpm -e --nodeps $i;done
    for i in `rpm -qa | grep mariadb`;do rpm -e --nodeps $i;done
    \rm -rf /var/lib/mysql /etc/my.cnf /var/log/mysqld.log
    rpm -ivh mysql-community-common-5.7.33-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.33-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.33-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.33-1.el7.x86_64.rpm
    
    # Init mysql
    mysqld --initialize-insecure --user=mysql
    systemctl start mysqld
    mysql -u root --skip-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '2660c1dd1942844f';grant all privileges on *.* to 'root'@'%'  IDENTIFIED BY '2660c1dd1942844f';update mysql.user set grant_priv='Y' where user='root';flush privileges;"

    # Add a power-on boot
    systemctl enable mysqld

    ps aux | grep mysql | grep -v grep
    if [ $? -eq 0 ]; then
        
        echo '=========== mysql install successed ================'
    else
        echo '=========== mysql install failed ===================='
    fi
}

IN_MYSQL

相关知识摘要:
1、自5.7.6版本起数据目录和root账户由mysqld --initialize来初始化,5.7.6以前的版本由mysql_install_db来初始化;
2、使用–initialize会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root -p,然后输入密码来登录MySQL。使用–initialize-insecure不会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root --skip-password直接登录MySQL;
3、 mysqld显示如下错误信息时:
[ERROR] --initialize specified but the data directory exists. Aborting,请执行rm -rf /var/lib/mysql

猜你喜欢

转载自blog.csdn.net/jinba225/article/details/117186182