zoukankan      html  css  js  c++  java
  • yum方式安装MySQL【转】

    在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

    另外至2919年5月4号, 默认安装的mysql版本是5.7 (在mysql库的user表中好像没有password字段了)

    1. 下载并安装MySQL官方的 Yum Repository

    wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

    使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

    yum -y install mysql57-community-release-el7-10.noarch.rpm

    下面就是使用yum安装MySQL了

    yum -y install mysql-community-server

    这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

    出现这样的提示表示安装成功

    2. MySQL数据库设置

    首先启动MySQL

    systemctl start  mysqld.service

    查看MySQL运行状态,运行状态如图:

    systemctl status mysqld.service

    此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

    grep "password" /var/log/mysqld.log

      

    上面标记的就是初始密码 , 但是要注意一定是如果之前安装过mysql, 那么此时并不会grep 到初始密码, 这时的原始密码请用之前常用的登录密码试一下能否登录

    Mysql 5.6 的初始密码查看方式:

    cat /root/.mysql_secret
    # The random password set for the root user at Mon Nov 26 10:30:18 2018 (local time): xB9qlhyD7LmUbBGU

     如下命令进入数据库:

    [root@BrianZhu /]# mysql -uroot -p     # 回车后会提示输入密码

    输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

    这里有个问题,新密码设置的时候如果设置的过于简单会报错:

    原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

    MySQL完整的初始密码规则可以通过如下命令查看:

    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+-------+
    | Variable_name                        | Value |
    +--------------------------------------+-------+
    | validate_password_check_user_name    | OFF   |
    | validate_password_dictionary_file    |       |
    | validate_password_length             | 4     |
    | validate_password_mixed_case_count   | 1     |
    | validate_password_number_count       | 1     |
    | validate_password_policy             | LOW   |
    | validate_password_special_char_count | 1     |
    +--------------------------------------+-------+
    rows in set (0.01 sec)

    密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

    validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

    解决方法就是修改密码为规范复杂的密码:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'z?guwrBhH7p>';
    Query OK, 0 rows affected (0.00 sec)
     
    mysql>

    这时候我们要把密码规则改一下,执行下面sql就可以了:

    mysql> set global validate_password_policy=0;
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> set global validate_password_length=1;
    Query OK, 0 rows affected (0.00 sec)
     
    mysql>

    设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

     但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

    yum -y remove mysql57-community-release-el7-10.noarch

    配置算是完成了

    可视化工具的登录授权:(如果授权不成功,请查看防火墙)

    操作完成上面的,现在还不能用可视化的客户端进行连接,需要我们进行授权:

    grant all on *.* to root@'%' identified by '数据库密码';

    遇见异常

    /var/lib/mysql/performance_schema permission denied

    /var/lib/mysql/performance_schema可能是root用户所有, 把它本身及所有子文件都改成mysql用户所有

    chown -R mysql /var/lib/mysql/performance_schema
    /var/lib/mysql/performance_schema

    ‘performance_schema.session_variables’ doesn’t exist

    mysql_upgrade -u root -p --force 重新初始化表

    完全参考自

    MySQL安装之yum安装==>https://www.cnblogs.com/brianzhu/p/8575243.html

  • 相关阅读:
    【模板】Sparse-Table
    UVa 11235 Frequent values
    【模板】树状数组
    UVa 1428 Ping pong
    数学技巧
    UVa 11300 Spreading the Wealth
    UVa 11729 Commando War
    UVa 11292 Dragon of Loowater
    POJ 3627 Bookshelf
    POJ 1056 IMMEDIATE DECODABILITY
  • 原文地址:https://www.cnblogs.com/whatlonelytear/p/9697327.html
Copyright © 2011-2022 走看看