mysql的用户管理与操作
1、创建一个用户并且授权:
create user username@'ip' identified by 'password'; 格式: grant 权限 on 数据库名称 to 用户 例如: grant all on *.* to ussername@'ip' identified by 'password'; #给用户所有数据库所有操作权限! grant select on test.* to ussername@'ip'; #给用户test库查询操作权限! grant insert on test.* to ussername@'ip'; #给用户test库插入操作权限! grant update on test.* to ussername@'ip'; #给用户test库更新操作权限! grant delete on test.* to ussername@'ip'; #给用户test库删除操作权限! grant select,insert,update,delete on test.* to ussername@'ip'; #给用户test库增删查改操作权限!
所有权限列表:
SELECT,INSERT, 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, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE
with grant option:可以给别的用户是授权。
例如:
grant select,insert,update,delete on test.* to ussername@'ip' with grant option ; #给用户test库增删查改操作权限,并且可以给别人授权的权限!
2、删除用户:
drop user username@'ip'; revoke all on *.* from username@localhost; #撤销用户所有权限
3、查询用户:
show grants; #查看自己权限 show grants for username@localhost; #查看其他用户权限 use mysql; select user,host from user;
4、修改用户密码
alter user username@'ip' identified by 'password';
5、常用show命令
show databases; #查看所有数据库 show tables; #查看当前库的所有表 SHOW TABLES FROM #查看某个指定库下的表 show create database world #查看建库语句 show create table world.city #查看建表语句 show grants for root@'localhost' #查看用户的权限信息 show charset; #查看字符集 show collation #查看校对规则 show processlist; #查看数据库连接情况 show index from #表的索引情况 show status #数据库状态查看 SHOW STATUS LIKE '%lock%'; #模糊查询数据库某些状态 SHOW VARIABLES #查看所有配置信息 SHOW variables LIKE '%lock%'; #查看部分配置信息 show engines #查看支持的所有的存储引擎 show engine innodb status\G #查看InnoDB引擎相关的状态信息 show binary logs #列举所有的二进制日志 show master status #查看数据库的日志位置信息 show binlog evnets in #查看二进制日志事件 show slave status \G #查看从库状态 SHOW RELAYLOG EVENTS #查看从库relaylog事件信息 desc (show colums from city) #查看表的列定义信息 http://dev.mysql.com/doc/refman/5.7/en/show.html
6、维护性任务
mysqld_safe --skip-grant-tables --skip-networking & 或者在/etc/my.cnf里边添加,用来跳过密码启动: --skip-grant-tables --skip-networking
7、初始化配置
(1)初始化配置文件(例如:/etc.my.cnf)
配置文件
服务端 [mysqld] #mysql的 user=mysql basedir = /etc/mysql #mysql安装目录 datadir = /var/lib/mysql #数据所在文件 socket = /tmp/mysql.sock #socket文件位置 server_id=6 #服务器ID(1-65535之间) port=3306 #端口号 [mysqld_safe] #mysql服务器的 [server] #所有的服务启动 客户端 [mysql] socket/tmp/mysql.sock [mysqladmin] [mysqldump] [client]
(2)启动命令行上进行设置(例如mysql_safe mysqld)
(3)预编译时候设置(仅限于编译安装)
8、配置文件读取数据顺序
[root@izwz916kdlq464riedoa25z ~]# mysqld --help --verbose|grep my.cnf /etc/my.cnf --> /etc/mysql/my.cnf --> /usr/etc/my.cnf --> ~/.my.cnf #依次从左到右读取
强制使用自定义配置文件:--defautls-file=/etc/my.cnf
例如:mysqld_safe --defautls-file=/etc/my.cnf &

浙公网安备 33010602011771号