zoukankan      html  css  js  c++  java
  • 数据库各种问题

    MySQL连接报错 1130

    用户客户端连接非本地的mysql服务时报错,错误提示 ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server

    解决方案: 

    1. 在服务器中登录mysql(安装目录下,bin下)

    ./mysql -u root -p 

    2. 进入mysql数据库

    mysql> use mysql;

    3. 查看user 表host 字段(可选)

    mysql> select host,user from user;

    4. 修改host值(以“%”通配符,增加在主机/ip地址),当然也可以增加一条数据

    mysql> update user set host='%' where user='root';

    5. 刷新mysql系统权限相关表

    mysql> flush privileges;

    6.重启mysql服务(确保修改生效)


     报错超过最大连接数

    执行以下sql,

    update user set max_questions=0;
    flush privileges;


     

    mysql下的user表为空


    1、首先修改my.cnf文件里面的sql_mode值,因认5.6之后的默认值就是下面的两个
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    需要把STRICT_TRANS_TABLES去掉,即改为:

    # vi /usr/local/mysql/my.cnf

    sql_mode=NO_ENGINE_SUBSTITUTION


    注:
    简单来说STRICT_TRANS_TABLES这个是启用严格模式,进入安全模式后如果启用了严格模式向表插入数据插入不了的;
    my.cnf的位置:/usr/local/mysql/my.cnf

    2、停止mysql服务

    # service mysql stop

    以安全模式启动MySQL
    # mysqld_safe –skip-grant-tables &
    在另一个终端登录mysql
    # mysql -uroot -p
    回车后提示输入密码,不需要输入密码,直接回车就可以进入mysql

    3、查看下有几个实例
    mysql> show databases;
    使用mysql实例
    mysql> use mysql;
    查看有多少表
    mysql> show tables;
    查看user表有没有数据
    mysql> select * from user;

    4、向user表插入root用户
    INSERT   INTO   user   (Host,User,Password)   VALUES( 'localhost', 'root',password( '123456'));

    5、更新root用户权限
    mysql> update user set
    Host='localhost',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';commit;

    6、停止mysql服务
    # service mysql stop

    7、将sql_mode修改回原来的值
    # vi /usr/local/mysql/my.cnf
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    8、启动mysql服务
    # service mysql start
    因这个是正常的启动mysql了,这时候验证一下root用户登录是否正常了,也就是正常的登录mysql
    # mysql -uroot -p
    回车后输入密码,如果不相信是否还需要输入密码,可以先直接回车试验一下;
    正常情况下登录进mysql了,再查看一下mysql下的user表是否有数据了。

  • 相关阅读:
    不参加IT培训,如何通过自学的方式成功转行?(蜗牛学院)
    惠普电脑win10关闭自动调节亮度
    原生Ajax发送get、post请求每一步
    HTML5的web 存储localStorage、sessionStorage
    node + multer存储element-ui上传的图片
    html块级元素的水平垂、直居中的方式
    vuex之Mutation(三)
    mint ui的tabBar监听路由变化实现tabBar切换
    Vue使用better-scroll左右菜单联动
    vuex之getter(二)
  • 原文地址:https://www.cnblogs.com/binghuaZhang/p/13994763.html
Copyright © 2011-2022 走看看