美文网首页
CentOS 7下yum重装 MySQL 5.7 (远程连接成功

CentOS 7下yum重装 MySQL 5.7 (远程连接成功

作者: 谢泽 | 来源:发表于2017-12-27 18:19 被阅读41次

    第一次安装遇到ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)这个问题,修改了权限更改了用户修改了版本都不行,最后决定卸载重装以下,个人contOS 7 安装MySql 5.7总结出来的坑与教程:

    完全卸载mysql

    1. 查找yum已安装mysql
    yum list installed|grep mysql
    
    1. 把找到的所有已安装软件全部卸载(可以使用 # yum remove name 或者 # yum erase name 都会消解对应的 dependencies)
    yum erase mysql-community-libs.x86_64  
    yum erase mysql-community-common.x86_64  
    yum erase mysql-community-client.x86_64  
    yum erase mysql-community-server.x86_64  
    yum erase mysql57-community-release.noarch 
    

    全部用erase删除

    1. 查找根目录下所有mysql相关文件并删除
    find / -name mysql
    rm -rf /var/lib/mysql  
    

    用rm命令删除所有文件夹与子文件
    此时,mysql完全卸载,准备重装!

    CentOS 7安装MySQL 5.7

    1. 下载YUM库
    wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm 
    
    1. 安装YUM库
    yum localinstall -y mysql57-community-release-el7-7.noarch.rpm
    
    1. 安装数据库
    yum install -y mysql-community-server 
    
    1. 启动MySQL服务
    systemctl start mysqld.service  
    
    1. 默认空密码
    mysql -uroot -p  
    
    1. 登陆并修改密码
      用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:
      mysql> select @@log_error; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
      修改密码:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';  
    

    如果手贱或者不知道啥原因出现如下问题:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    请修改my.cnf,添加skip-grant-tables和skip-networking:

    shell > vi /etc/my.cnf  
    [mysqld]  
    skip-grant-tables  
    skip-networking  
    

    重启mysql,然后重复以上修改密码步骤即可,记得修改完后,去掉my.cnf添加的两行。

    1. 密码策略
      如果密码设置太简单出现以下的提示:
      ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
      如何解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢? 这里直接提供解决方案文末有详细的说明
      必须修改两个全局参数:
      首先,修改validate_password_policy参数的值
    set global validate_password_policy=0;
    

    再修改密码的长度

    set global validate_password_length=1; 
    

    再次执行修改密码就可以了

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword'; 
    

    再不行的话执行

    flush privileges;
    

    刷新用户权限即可!

    配置

    1. 设置防火墙(CentOS7 不推荐)
    vi /etc/sysconfig/iptables
    

    在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited之前,添加

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    

    重启防火墙

    service iptables restart
    

    注:centos7使用的是firewall防火墙
      systemctl stop firewalld.service #停止

    systemctl disable firewalld.service #禁用

    1. 设置字符编码集和区分大小写
    • 修改mysql配置文件(设置字符编码集)
      默认位置:/etc/my.cnf
      进入etc文件夹>>vim my.cnf
    [mysqld]  
    character-set-server=utf8  
    collation-server=utf8_general_ci
    
    • systemctl restart mysql.service #重启MySQL

    • 查看当前mysql运行状态

    mysql>status

    参数说明:

    haracter_set_client:客户端请求数据的字符集。

    character_set_connection:从客户端接收到数据,然后传输的字符集。

    character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,使character_set_server指定的字符集,此参数无需设置。

    character_set_filesystem:把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。

    character_set_results:结果集的字符集。

    character_set_server:数据库服务器的默认字符集。

    character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。

    • 修改mysql配置文件(设置区分大小写)

    lower_case_table_names 参数详解:

    0:区分大小写

    1:不区分大小写

    相关文章

      网友评论

          本文标题:CentOS 7下yum重装 MySQL 5.7 (远程连接成功

          本文链接:https://www.haomeiwen.com/subject/fkzugxtx.html