账号(用来实现认证) 用户:访问mysql服务器的,跟操作系统的用户没什么关系 密码:默认使用password()函数来进行加密 权限:用户只有给予权限才可以对mysql进行登录和操作 表: user:用户账号、全局权限 db:库级别 host:已经废弃,不用了 tables_priv:表级别权限 colum_priv:列级别权限 procs_priv:存储过程和存储函数相关的权限 proxies_priv:代理用户权限 mysql用户账号: 用户名@主机 用户:16字符以内 主机:主机名(www.xxx.xom) ip:具体的单个ip地址 网络地址:192.168.4.0/255.255.255.0 通配符:% 权限级别: 全局级别 库级别 表级别 列级别 存储过程和存储函数 创建的是临时表,也叫内存表,读取速度快,不需要永久保存,默认最大为16M,叫堆内存 触发器,用来完成主动数据库的创建的,当我们执行INSERT,DELETE,UPDATE等句子的时候,它可以自动触发另外的操作,这些被触发的另外操作是我们按照自己需要自己定义的。 创建数据库用户: 一、CREATE USER http:///mailto:username@host [IDENTIFIED BY] 'password'; 二、GRANT 三、mysql>INSERT INTO mysql.user ...........; mysql>FLUSH PRIVILEGES; SHOW GRANT FOR user@host; 给mysql数据库用户授权: GRANT ALL PRIVILEGES ON [object_type] db.* TO username@'%'; object_type: TABLE| FUNCTION | PROCEDURE (数据库点后面的既可以是表也可以是存储函数,有时候需要指定是表还是存储函数的时候就需要指定object_type是TABLE还是FUNCTION或是PROCEDURE) 删除数据库用户: DROP USER 'user_name'@'host'; 给数据库用户重命名: 撤销用户权限: 例如:收回用户的SELECT权限 要是我们突然把myql用户的管理员密码忘了,肿么办呢?当然是要找回来喽,哈哈哈 1、首先,要先把mysql服务关掉: 2、其次,手动启动mysql: 编辑/etc/init.d/mysqld文件 vim /etc/init.d/mysqld 3、然后我们启动mysql服务: 4、连接mysql: 这一次,虽然用户都是有密码的,但是我们直接命令行输入msyql就直接进入了数据库,而且是不需要密码的噢。但是这样并不算完,我们还需要重新修改mysql的管理员密码。 5、修改mysql管理员用户密码 是不是有点失望,因为我们使用了--skip-grant-tables选项后,使用SET PASSWORD这种方式来改mysql管理员的密码就不好使喽。。。。。。。。。。。。。不过不要灰心,我们还是有方法的哈,那就是手动去修改mysql.user文件中的对应字段,就是使用update指令通过更新授权表方式直接修改其密码: 我们测试的是把root对应的localhost密码改成了66666,我们来试一下密码更改是否成功 6、我们需要把/etc/init.d/mysqld文件中添加的字段去掉噢: 好了,我们删掉了我们添加的字段 重启mysql服务: 连接mysql服务器: 哈哈,我们使用新密码‘666666’连接上了mysql噢,这样我们就搞定了忘记密码的问题了。 需要注意的是我们在/etc/init.d/mysqld文件中添加的那2个字段: --skip-grant-tables(跳过授权表,登录mysql就不需要密码了) --skip-networking(防止他人从网络连接msyql,这样做是为了安全,因为使用了--skip-grant-tables这一项后数据库就不需要密码也可以连接了。但是这样我们也只能从本地进行登录msyql喽) 我们测试的时候都是直接关掉数据库或是直接重启数据库的,但是生产环境中的数据库是不可以随便停掉,或是随变重启动的,最好是reload,重新载入一下的好哈。 貌似这样也可以: 1./etc/my.cf 在mysqld段添加 skip-grant-tables 重启数据库,即可无密码登陆 [mysqld] skip-grant-tables 2.更改密码 mysql>use mysql mysql> update user set password=password("redhat") where user="root"; 3.删除,之前添加的内容 skip-grant-tables 4.重启mysql 即可正常使用 |
|
来自: beidouxingstar > 《mysql》