• mysql常用命令


    增加新用户

    格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"

    如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。
    首先用以root用户连入mysql,然后键入以下命令:
    grant select,insert,update,delete on *.* to 'user1'@'localhost' Identified by "password1";

    如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
    grant all privileges on *.* to 'alex'@'%' identified by "alex";

    刷新权限
    FLUSH PRIVILEGES;

    查询用户权限

    show grants for alex@'%';

    字符集问题

    查看默认编码格式:
    show variables like "%char%";
    设置编码格式:
    SET character_set_client='utf8';
    SET character_set_connection='utf8';
    SET character_set_server='utf8';
    查看数据库test的编码格式:
    show create database test;
    设置数据库test的编码格式:
    ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    查看数据表testTable的编码格式:
    show create table testTable;
    设置数据表testTable的编码格式:
    ALTER TABLE `testTable` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;  

    禁止用户远程登陆

    use mysql;
    update user set host = "localhost" where user = "root" and host = "%";
    flush privileges;
    

    查看错误日志位置

    show variables like "log_error";
    

    版本升级

    https://www.rootusers.com/how-to-upgrade-mariadb-version-10-1-to-10-3/

    数据库启动命令汇总

    1、使用mysqld启动、关闭MySQL服务
    mysqld是MySQL的守护进程,我们可以用mysqld来启动、关闭MySQL服务。
    
    2、使用mysqld_safe启动、关闭MySQL服务
    mysqld_safe是一个脚本,一个非常安全的启动、关闭MySQL服务的脚本。它实际上也是调用mysqld来启动、关闭MySQL服务。
    
    3、使用service 启动、关闭MySQL服务
    service mysql stop
    
    4、使用/etc/init.d/mysql启动、关闭MySQL服务
    /etc/init.d/mysql也是一个脚本,它调用mysqld_safe脚本来启动MySQL服务。
    

    资源限制

    对单个账户可以设置的资源限制有
    1. 每小时查询次数
    2. 每小时更新次数
    3. 每小时连接次数
    4. 同时在线的连接个数
    对应:
    GRANT OPTION
    | MAX_QUERIES_PER_HOUR count
    | MAX_UPDATES_PER_HOUR count
    | MAX_CONNECTIONS_PER_HOUR count
    | MAX_USER_CONNECTIONS count
    举例:

    grant all privileges on *.* to 'name'@'host' identified by "password" WITH MAX_QUERIES_PER_HOUR 20 MAX_UPDATES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 5 MAX_USER_CONNECTIONS 2;
    


    当账户的限制非0时则会给资源使用计数。
    Server运行时给每个账户的使用资源计数,如果达到了连接次数限制则下一个连接将会被拒绝。
    同样地若达到了查询、修改等次数限制则会产生一个error信息。
    每个账户各自进行资源计数而不是针对客户端。可以全局重置当前的每小时使用的资源计数,也可以针对指定的账户重置计数:
    1. 将所有账户计数器清零使用FLUSH USER_RESOURCES语句。重新加载权限表语句也会清零计数器(FLUSH PRIVILEGES或mysqladmin reload命令)
    2. 给特定账户清零计数器使用GRANT USAGE语句指定一个与原来一样的限制次数
    计数器清零对于max_user_connections无效,系统重启会将所有的计数器清零。

    系统查询

    #uptime 可以查看系统的运行时间
    show global status like 'uptime';
    #统计数据库连接数
    select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;
    
  • 相关阅读:
    初始WebApi(1)
    百度编辑器UEditor,保存图片的配置问题
    通过简单的ajax验证是否存在已有的用户名
    .NET MVC中登录过滤器拦截的两种方法
    MySQL数据库innodb_rollback_on_timeout参数
    MySQL如何删除#sql开头的临时表
    SQL基础(2)
    ORDER BY导致索引使用不理想
    SQL基础
    MySQL传统点位复制在线转为GTID模式复制
  • 原文地址:https://www.cnblogs.com/jinyuanliu/p/10426297.html
Copyright © 2020-2023  润新知