• Mysql—用户与密码


    windows下登录设置密码

    1、进入服务端以后

    select user();  查看当前登录账户
    

    2、 切换账号 root(在普通用户下)

    mysql -uroot -p
    

    3、设置密码

    C:Usersjiumo>mysqladmin -uroot -p password "123"  
    # 设置初始密码,由于原密码为空,因此-p可以不用 注意这句话不起作用,请使用update mysql.user set authentication_string =password('') where User='root'; 
    

    设置密码后再登录不输入密码则进不去,会报错

    ps:⚠️不用管它。翻译为:在命令行界面使用密码不安全,暴露在终端当中。

    4、使用密码登录

    mysql -uroot -p123
    

    5、如果想将原始密码123,设置新密码为456

    C:Usersjiumo>mysqladmin -uroot -p"123" password "456"  
    # 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
    

    依次执行如下操作:

    mysql -uroot -p456
    select user();
    

    密码忘记 -- 破解密码

    忘记密码以后可以通过,跳过授权方式,直接登录,具体如下:

    1、首先以管理员身份打开cmd:

    2、停止掉mysql服务

    3、执行跳过授权命令

    # 跳过授权表
    C:WINDOWSsystem32>mysqld --skip-grant-tables
    
    2018-06-09 17:12:38 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
    2018-06-09 17:12:38 0 [Note] mysqld (mysqld 5.6.40) starting as process 6052 ...4.
    

    4、连接客户端,看能否跳过密码,直接登录

    mysql -uroot -p
    

    5、现在可以任意更改密码,执行如下命令

    update mysql.user set authentication_string =password('') where User='root'; 
    

    6、刷新权限

    flush privileges;
    

    7、退出mysql

    exit
    

    统一字符编码

    进入mysql客户端以后,可以执行 s 查看

    为了统一字符编码utf8,请执行如下操作:

    1、my.ini文件是mysql的配置文件,

    在根文件下创建my.ini文件
    

    2、拷贝代码

    [mysqld]
    # 设置mysql的安装目录 **后面的路径一定是安装sql的目录(自己电脑的)**
    basedir=C:mysql-5.7.22-winx64mysql-5.7.22-winx64
    # 设置mysql数据库的数据的存放目录,必须是data
    datadir=C:mysql-5.7.22-winx64mysql-5.7.22-winx64data
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    # mysql端口
    port=3306
    # 字符集
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    

    3、管理员身份打开cmd,重启服务

    4、启动客户端,刷新权限,执行 /s 查看编码是否更改成功

    mysql创建用户和授权

    我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。那么这时就需要我们来简单了解一下:

    • 如何创建用户和密码
    • 给当前的用户授权
    • 移除当前用户的权限

    如果你想创建一个新的用户,则需要以下操作:

    1、进入到mysql数据库下

    mysql> use mysql
    

    2、对用户进行增删改

    1.创建用户:
    # 指定ip:192.118.1.1的jiumo用户登录
    create user 'jiumo'@'192.118.1.1' identified by '123';
    
    # 指定ip:192.118.1.开头的jiumo用户登录
    create user 'jiumo'@'192.118.1.%' identified by '123';
    
    # 指定任何ip的jiumo用户登录
    create user 'jiumo'@'%' identified by '123';
    
    
    2.删除用户
    drop user '用户名'@'IP地址';
    
    
    3.修改用户
    rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
    
    
    4.修改密码
    set password for '用户名'@'IP地址'=Password('新密码');
    

    3、当前用户进行授权管理

      grant 权限只有 root 用户才有

    # 查看权限
    show grants for '用户'@'IP地址'
    
    #授权 jiumo用户仅对db1.t1文件有查询、插入和更新的操作
    grant select ,insert,update on db1.t1 to "jiumo"@'%';
    
    # 表示有所有的权限,除了grant这个命令,这个命令是root才有的。jiumo用户对db1下的t1文件有任意操作
    grant all privileges  on db1.t1 to "jiumo"@'%';
    
    #jiumo用户对db1数据库中的文件执行任何操作
    grant all privileges  on db1.* to "jiumo"@'%';
    
    #jiumo用户对所有数据库中文件有任何操作
    grant all privileges  on *.*  to "jiumo"@'%';
    
     
    #取消权限
    
    # 取消jiumo用户对db1的t1文件的任意操作
    revoke all on db1.t1 from 'jiumo'@"%";  
    
    # 取消来自远程服务器的jiumo用户对数据库db1的所有表的所有权限
    revoke all on db1.* from 'jiumo'@"%";  
    
    取消来自远程服务器的jiumo用户所有数据库的所有的表的权限
    revoke all privileges on *.* from 'jiumo'@'%';
    

    4、mysql备份命令行操作

    # 备份:数据表结构+数据
    mysqdump -u root db1 > db1.sql -p
    
    
    # 备份:数据表结构
    mysqdump -u root -d db1 > db1.sql -p
    
    
    #导入现有的数据到某个数据库
    #1.先创建一个新的数据库
    create database db10;
    # 2.将已有的数据库文件导入到db10数据库中
    mysqdump -u root -d db10 < db1.sql -p
    
  • 相关阅读:
    rstudio命令行操作
    HTTP缓存机制
    F5和Ctrl F5
    g++与gcc区别
    C++中long long和long
    拉链法哈希表实现
    tcp中的带外数据
    LSGAN
    随机森林分类器学习
    python中cls关键字
  • 原文地址:https://www.cnblogs.com/jiumo/p/10479536.html
Copyright © 2020-2023  润新知