一、 MySQL初始密码

新安装的MySQL默认是没有密码的,设置初始密码可以用以下命

mysqladmin -u root password 'new-password'
mysqladmin -u root password 'password' -S /data//mysql.sock #socket多实例

设置初始密码后,可在当前用户家目录下创建.my.cnf文件,配置好用户名和密码后,该用户可以免密码登录,要注意设置文件权限,不要让其他用户看到密码信息

vi ~/.my.cnf
[client]
user=root
host=localhost
password=cathy

MySQL服务器在读取配置文件的时候是按照以下顺序读取的:

/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf --> --default-extra-file=/path/to/somefile--> ~/.my.cnf

如果不同配置文件有相同配置选项则以最后一个配置文件为准

二、修改root密码

方法一:命令行

mysqladmin -u root -p oldpassword password 'password' #单实例
mysqladmin -u root -p oldpassword password 'password'-S /data//mysql.sock#多实例

方法二:登录mysql

mysql> update mysql.user set Password=password("storm") where User="root"
mysql> flush privileges

此方法有风险,必须指定条件和password函数, 否则有可能会其他用户的密码一并改掉
方法三:

myslq> set password=password() # 修改当前登录用户密码
set password for 'storm'@'%' =password() # 修改指定用户密码
myslq> flush privileges

三、重置忘记的密码

1. 停止mysqld服务

2. 启动mysqld,忽略授权表

--skip-grant-tables表示忽略授权表启动MySQL

--skip-networking表示不连入网络,防止无密码启动mysql带来安全隐患

3. 登录mysql修改密码

mysql
mysql> update mysql.user set Password=password("newpassword") where User="root"
mysql> flush privileges

注意:二进制包安装MySQL,在执行mysqld_safe --skip-grant-tables命令时会出现如下错误:

[root@dev ~]# mysqld_safe
:: mysqld_safe Logging to '/usr/local/mysql/data/dev.err'.
touch: cannot touch `/usr/local/mysql/data/dev.err': No such file or directory
chmod: cannot access `/usr/local/mysql/data/dev.err': No such file or directory
touch: cannot touch `/usr/local/mysql/data/dev.err': No such file or directory
chown: cannot access `/usr/local/mysql/data/dev.err': No such file or directory
:: mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
/application/mysql/bin/mysqld_safe: line : /usr/local/mysql/data/dev.err: No such file or directory

错误原因暂时未找到,但是仔细看报错信息:Please cd to the mysql installation directory and restart this script from there as follows: ./bin/mysqld_safe&
意思是要进入MySQL的安装目录再执行mysqld_safe命令,我尝试进入我安装的MySQL目录:/application/mysql/bin/然后执行mysqld_safe依然报错,最后发现只有在MySQL的安装目录下执行./bin/mydqld_safe才能正常执行,具体原因还有待查找!

4. 重启mysql

/etc/init.d/mysqld stop
/etc/init.d/mysqld start

若修改完密码后无法关闭,用mysqladmin -uroot -pnewpassword shutdown关闭

多实例MySQL启动修改丢失的root密码

mysqld_safe --defaults-file=/data//my.cnf --skip-grant-tables&
mysql -uroot -p -S /data//mysql.sock # 登录时用空密码

四、创建用户及授权
方法一:先创建用户再授权

mysql> create user 'storm'@'localhost' IDENTIFIED BY 'mypass';
mysql> grant all on db1.* to 'jeffrey'@'localhost';

方法二:直接授权给用户,用户不存在时则创建

mysql> grant all on dbname.* to 'jeffrey'@'localhost' identified by 'password'  

1. 用户名格式

MySQL创建用户时,用户名的格式为:'用户名'@'主机' ,其中用户名和主机名的引号可用单引号,也可用双引号,但是不可省略。主机权限范围例举如下:

‘storm'@'%'

#表示所有主机均可使用storm账户登录

mysql ‘storm'@'192.168.0.%

#表示只允许192.168.0网段的用户连接,这种情况即使本地连接mysql,也需要指定-h IP的方式连接

mysql‘storm'@'localhost’

#表示只允许本地连接

2. MySQL用户权限

MySQL可授权的权限有:SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS,FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES,LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOWVIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, all表示所有权限。

为用户授权时,可精确到数据库、数据库所对应的表、表里的某个字段的具体权限,如:

grant all on *.* to ‘storm'@'%'

#为storm授予所有库的所有操作权限

grant all on school.* to ‘storm'@'%'

#为storm授予school数据库下的所有表的所有操作权限

grant select, insert,update on school.class to ‘storm'@'%'

#为storm授予school数据库下class表的 select, insert,update权限

grant update(age) on on school.class to ‘storm'@'%'

#表示storm用户只能update的字段为age

3. 查看用户权限

mysql> show grants for storm@'%';  

4. 撤回用户权限

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...  

mysql 创建用户及授权(2)的更多相关文章

  1. MySQL 创建用户 与 授权

    例,需要给 121.52.215.100 连接添加一个用户 dee,密码是 123456,他只能对数据库 vshop 有 select 权限: CREATE USER '; GRANT SELECT ...

  2. 14-补充内容:MySQl创建用户和授权

    [转]14-补充内容:MySQl创建用户和授权 权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操 ...

  3. python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)

    昨日内容回顾 外键的变种三种关系: 多对一: 左表的多 对右表一 成立 左边的一 对右表多 不成立 foreign key(从表的id) refreences 主表的(id) 多对多 建立第三张表(f ...

  4. Mysql创建用户并授权以及开启远程访问

    Mysql创建用户并授权以及开启远程访问     一.创建用户并授权 1.登录mysql mysql -u root -p 2.创建数据库 create database test;//以创建test ...

  5. mysql更新(七) MySQl创建用户和授权

    14-补充内容:MySQl创建用户和授权   权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操作 ...

  6. MySQL数据库(1)- 数据库概述、MySQL的安装与配置、初始SQL语句、MySQL创建用户和授权

    一.数据库概述 1.什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机. 在计 ...

  7. MySQL创建用户并授权及撤销用户权限

    这篇文章主要介绍了MySQL创建用户并授权及撤销用户权限.设置与更改用户密码.删除用户等等,需要的朋友可以参考下 MySQL中创建用户与授权的实现方法. 运行环境:widnows xp profess ...

  8. mysql(单表查询,多表查询,MySQl创建用户和授权,可视化工具Navicat的使用)

    单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT ...

  9. mysql 创建用户,授权,查询用户等

    MySQL创建用户与授权 一. 创建用户 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username:你将创建的用 ...

  10. Mysql创建用户并授权

    运行命令行 mysql -uroot -p 登录mysql use mysql; 创建用户:create user 'test123'@'localhost' identified by '12345 ...

随机推荐

  1. (20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)

    1.必需和可选属性 如果实体属性可以包含null,则将其视为可选.如果属性的有效值不可以包含null,则将其视为必需属性.映射到关系数据库架构时,必需的属性将创建为不可为null的列,而可选属性则创建 ...

  2. 微信小程序单选/多选框样式重新

    /* 重写 checkbox 样式 */ /* 未选中的 背景样式 */ checkbox .wx-checkbox-input{ border-radius: 50%;/* 圆角 */ width: ...

  3. Windows突破远程连接最大数去掉限制登录

    当对方设置最大连接数 超过限制时 可以用这个命令 win+r  输入 mstsc /v:192.168.18.131:3389 /console   windows server 2003 sp2 以 ...

  4. 案例_(单线程)使用xpath爬取糗事百科

    案例_(单线程)使用xpath爬取糗事百科 步骤如下: 首先通过xpath插件找出我们要爬取的信息的匹配规则 url = "https://www.qiushibaike.com/8hr/p ...

  5. 压敏电阻的保护作用—NDF达孚电子科技

    压敏电阻是常见的电子元器件之一,它的保护作用被大家熟知和运用.压敏电阻的主要用于在电路承受过压时进行电压钳位,吸收多余的电流以保护灵敏器件.压敏电阻的导电特性随着施加电压的变化呈非线性变化,它能保护电 ...

  6. Spring Boot Security And JSON Web Token

    Spring Boot Security And JSON Web Token 说明 流程说明 何时生成和使用jwt,其实我们主要是token更有意义并携带一些信息 https://github.co ...

  7. js中用面向对象的思想——淡入淡出轮播图

    首先看下效果图 明确功能 1.前后切换(边界判断) 2.按键切换  3.自动轮播 css代码 <style> * {margin:0; padding:0;} li{list-style: ...

  8. 学习笔记56_WebServices

    1.Web services,就是新建项,选择Web服务: 2. 然后可以用Winform来调用webServices: 然后添加“服务引用”,,命名空间可以自己填. 3. 直接 new ,然后调用就 ...

  9. 【Java必修课】String.intern()原来还能这么用(原理与应用)

    1 简介 String.intern()是JDK一早就提供的native方法,不由Java实现,而是底层JVM实现,这让我们对它的窥探提高了难度.特别是在Oracle收购了Sun公司后,源代码不开源了 ...

  10. [考试反思]1023csp-s模拟测试83:等候

    分数倒是依旧那么烂,但是这个时间比较诡异. 6分49秒弄出T1,15分钟送上T2的50分暴力,不到一小时半的时候T3的30分暴力也完成了... 在85分钟之后一次提交也没有 前15分钟平均每分钟得10 ...