zoukankan      html  css  js  c++  java
  • mysql用户的增删与密码丢失问题

    为root用户设置初始密码

    mysqladmin -u root password 密码(单实例)
    mysqladmin -u root password 密码 -S /data/3306/mysql.sock(多实例)

     

    修改root用户的密码

    1.系统命令修改

    mysqladmin -u root -p旧密码 password 新密码(单实例)

    mysqladmin -u root -p旧密码 password 新密码 -S /data/3306/mysql.sock(多实例)

    2.sql语句修改

    update mysql.user set password=password('新密码') where user='root' and host='localhost';(注意密码需使用加密函数,字符串需用引号,设置完后需flush将新密码从内存写入数据库)

    flush privileges;

    3.数据库中直接修改

    set password=password('新密码')(一般安装完成后采用,不适用于--skip-grant-tables)
    flush privileges;

     

    单实例root密码丢失解决方法

    1.停止mysql,/etc/init.d/mysqld stop

    2.跳过授权启动mysql,mysqld_safe --skip-grant-tables --user=mysql &

    3.直接mysql命令登录数据库

    4.使用update更新mysql.user表,并刷新权限,退出mysql

    5.停止mysql,mysqladmin -uroot -p新设置的root密码 shutsdown(没有用mysqld启动,所以无法使用mysqld停止)

    6.启动mysql,/etc/init.d/mysqld start

     

    多实例root密码丢失解决方法

    1.停止mysql,killall mysqld

    2.跳过授权启动mysql,mysqld_safe --default-file=/data/3306/my.cnf --skip-grant-tables  &(需指定默认配置文件,且放在skip-grant-tables前面)

    3.登录数据库,mysql -uroot -p -S /data/3306/mysql.sock

    4.使用update更新mysql.user表,并刷新权限,退出mysql

    5.停止mysql,killall mysqld

    6.启动mysql,/data/3306/mysql start

     

    创建与root权限相同的system用户

    mysql>grant all privileges on *.* to system@'localhost' identified by 'oldboy' with grant option;(密码要用单引号引起来)

    mysql>quit

    [root@oldboy ~]#mysql -usystem -poldboy

    mysql>

     

    新建普通用户用户(创建后需要flush privileges)

    1.sql中create user创建

    mysql> create user 'phh'@'localhost' identified by 'phh';(注意三个引号要加上)

    2.sql中更新mysql.user表

    mysql> insert into mysql.user(host,user,password,ssl_cipher,x509_issuer,x509_subject) values('localhost','phh1',password('phh1'),'','','');

    3.mysql中使用grant创建

    mysql>grant select on mysql.user to 'phh2'@'localhost' identified by ‘phh2’;

    (grant 权限 on 库.表 to ‘用户’@’主机’ identified by ‘password’)

     

    删除普通用户(删除后需要flush privileges)

    1.mysql中drop user

    mysql> drop user 'phh2'@'localhost';

    2. mysql中使用delete删除mysql.user

    mysql> delete from mysql.user where user='phh1';

    (主机名大写使用drop user可能不能删除用户,这是需要使用delete方法删除)

     

     

     

  • 相关阅读:
    IIS 安装 pydio
    Windows环境配置Apache+Mysql+PHP
    Azure 云平台用 SQOOP 将 SQL server 2012 数据表导入 HIVE / HBASE
    PHP 启动 cURL模块以及启动失败的解决方案
    NodeJS 各websocket框架性能分析
    使用AndroidStudio编译NDK的方法及错误解决方案
    Ubuntu 系统下 mongodb 安装和配置
    Ubuntu安装nodeJS
    node.js应用Redis数据库
    Android平台相机接口的应用
  • 原文地址:https://www.cnblogs.com/Forever77/p/10035722.html
Copyright © 2011-2022 走看看