select database();------查看当前使用的数据库
select user();------查看当前使用的用户
show tables from database_name;-----查看库中有哪些表
grant -----授权操作
grant all on db_name to user_name identified by "mypass"
update mysql.user set password=你要设定的密码 where user=‘root‘;
flush privileges;
mysql的用户及访问权限,主要信息保存在如下六张表中
user表:contains database-level privileges
db表:库级别权限
host:已经废弃
tables_priv:表级别权限
columns_priv:列级别权限
procs_priv:存储过程和存储函数相关权限
proxies_priv:代理用户权限
用户账号:由用户名@主机 构成,用户名16个字符以内
权限级别
全局级别:super,
库级别
表级别
列级别
存储过程和存储函数
创建USER的命令
create user [email protected] identified by ‘passwd‘;---创建用户
grant ALL privileges on db_name.* to [email protected]‘%‘ ---为user授权权限
grant create on dbname_* to ‘username‘@‘%‘;--为user授权能在dbname库下的权限
drop user ‘username‘@‘host‘; -----删除用户
rename user [email protected]‘host‘ to [email protected]‘host‘; -----用户重命名
revoke 权限 on 数据库 from ‘username‘@‘hostname‘;------收回权限命令
找回管理员密码
1.service mysqld stop
2.vi /etc/init.d/mysqld 文件,在里面加入--skip-grant-tables --skip-networking
3.重启服务后,即可无密码登录
4.update user set password=password(‘1234‘) where user=root;
5.关闭mysql服务,重新把/etc/init.d/mysqld增加的内容修改回原内容
6.重启服务,即可以新密码登录
mysql客户端工具
mysql
mysqldump
mysqladmin
mysqlcheck
mysqlimport
[client]
-u username
-h hostname
-p password
--protocol {tcp|socket} protocol
mysql非客户端工具
myisamchk
myisampack
myisam 引擎
每个表有三个文件
.frm --表结构
.MYD --表数据
.MYI --表索引
innodb引擎
所有表共享一个表空间文件
建议:每表使用独立的文件,默认没打开
show variables like ‘%innodb%‘;可以通过此命令查看