• Centos7中安装MySQL5.7记录


    由于时不时会安装MySQL数据库,在大数据hive的学习中,也需要更换元数据Metastore存储数据库Derby为MySQL,下面记录下在Centos7中安装MySQL,并开启MySQL数据库的远程连接,本文参考文末博文和老王,主要方便自己查看用。

    启动Centos7,切换root用户

    在Centos7中默认安装MariaDB,这个是MySQL的分支,但为了方便使用,需要在root用户下,在系统中安装MySQL,而且安装完成之后可以直接覆盖掉原始的MariaDB。切换Derby为MySQL的主要原因是Derby是单线程的,MySQL却可以支持多个会话,在元数据的使用方面,显然存储在后者更有实际意义。

    下载安装MySQL官方的yum源

    使用root用户在Centos7服务器的/kkb/soft路径下执行以下命令。

    # 切换安装目录
    cd /kkb/soft/
    # 安装
    yum -y install wget
    # 以下三条命令一起执行
    # -i代表可以下载多个文件,-c代表可以断点续传
    wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    # 直接安装,-y代表无需手动点YES确认
    yum -y install mysql57-community-release-el7-10.noarch.rpm
    yum -y install mysql-community-server
    

    安装完成后就会覆盖掉之前的mariadb。

    mysql数据库的设置

    首先启动MySQL。

    # 查看mysql启动状态
    systemctl status mysqld.service
    # 执行以下命令启动mysql服务
    systemctl start mysqld.service
    

    当MySQL显示active状态,说明已经开始正常运行,要想进入MySQL还得先找出此时root用户下自动生成的密码,通过如下命令可以在日志文件中找出,使用临时密码,进入mysql客户端,然后更改密码。

    # 在日志文件中查找password关键字
    grep "password" /var/log/mysqld.log
    

    以下是操作记录。

    # 执行以下命令启动mysql服务
    [root@node01 /kkb/install]# systemctl start mysqld.service
    You have new mail in /var/spool/mail/root
    # 查看mysql启动状态
    [root@node01 /kkb/install]# systemctl status mysqld.service
    ● mysqld.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2019-10-14 20:45:30 CST; 13s ago
         Docs: man:mysqld(8)
               http://dev.mysql.com/doc/refman/en/using-systemd.html
      Process: 5024 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
      Process: 4974 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
     Main PID: 5028 (mysqld)
       CGroup: /system.slice/mysqld.service
               └─5028 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
    
    Oct 14 20:45:25 node01 systemd[1]: Starting MySQL Server...
    Oct 14 20:45:30 node01 systemd[1]: Started MySQL Server.
    # 查看自动生成的密码
    [root@node01 /kkb/install]# grep "password" /var/log/mysqld.log
    # 复制临时密码
    2019-10-14T12:45:27.671407Z 1 [Note] A temporary password is generated for root@localhost: dkeDtqF)O1*E
    You have new mail in /var/spool/mail/root
    # 使用临时密码登录
    [root@node01 /kkb/install]# mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.28
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    # 密码校验策略只校验密码长度,只要长度跟validate_password_length一样即可
    mysql> set global validate_password_policy=LOW;
    Query OK, 0 rows affected (0.00 sec)
    # 设置密码长度
    mysql> set global validate_password_length=6;
    Query OK, 0 rows affected (0.00 sec)
    # 设置密码,长度需要和上面设置的一致
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '2688';
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    Query OK, 0 rows affected (0.00 sec)
    # 开启mysql的远程连接权限
    mysql> grant all privileges  on  *.* to 'root'@'%' identified by '123456' with grant option;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    # 刷新权限
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> exit
    Bye
    You have new mail in /var/spool/mail/root
    # 使用新密码登录
    [root@node01 /kkb/install]# mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 3
    Server version: 5.7.28 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    

    mysql的卸载

    上面我在MySQL当中已经安装好了5.7版本的MySQL服务,如果以后不需要MySQL了,或者MySQL安装失败了需要重新安装,那么我们就可以把MySQL给卸载掉。

    step1:停止mysql服务并卸载rpm的包。

    # 停止MySQL服务
    systemctl stop mysqld.service
    # 查询所有安装的mysql
    rpm -qa | grep -i mysql 
    yum list install mysql*
    # yum卸载
    yum remove mysql mysql-server mysql-libs compat-mysql51
    yum remove mysql-community-release
    # rpm卸载,--nodeps就是不验证文件的依赖关系,直接删除
    rpm -e --nodeps mysql57-community-release-el7-10.noarch mysql-community-common-5.7.27-1.el7.x86_64 
    

    step2:删除mysql残留文件夹。

    whereis mysql 
    rm -rf /usr/share/mysql/
    find / -name mysql
    rm -rf /var/lib/mysql/
    rm -rf /root/.mysql_history
    

    参考博文

    (1)https://www.cnblogs.com/youngchaolin/p/11713079.html rpm和yum

    (2)https://blog.csdn.net/wltsysterm/article/details/79649484 mysql密码校验策略

  • 相关阅读:
    ALhoViMwaR
    lenovo anti-virus powered by Intel security保护已过期
    python Module turtle has no circle member解决办法
    为什么电脑打出来都是繁体字
    python 学习笔记(七)(函数)
    python 写汉诺塔移动过程
    python 学习笔记(六)(dict,set)
    Vue CLI组件循环引用踩坑,组件未注册问题
    vue package.json脚本赋值变量
    linux服务器安装node环境及项目部署
  • 原文地址:https://www.cnblogs.com/youngchaolin/p/13702019.html
Copyright © 2020-2023  润新知