最近由于工作需要开始把mysql捡起来,好多年不碰的东西了,哈哈
基本操作:
1.登陆
指定mysql的路径到$PATH环境变量 export PATH=/usr/local/mysql/bin:$PATH
登陆如下:# mysql -u root -proot1234 其中root是用户名,root1234是密码 如果是其他用户登陆,那么替换用户名和密码即可
2.查看数据库信息mysql> show databases;
3.打开数据库 mysql> use mysql;
4.查看数据库表mysql> show tables;
5.查看表信息mysql> select * from db;
6.查看表结构mysql> desc db;
7.创建数据库mysql> create database muzi;
8.创建表mysql> create table muzi_t1(id int);
9.插入记录mysql> insert into muzi_t1 values(1);
10.添加一个字段mysql> alter table muzi_t1 add name varchar(20);
11.删除一个字段mysql> alter table muzi_t1 drop name;
12.修改表字段属性mysql> alter table muzi_t1 modify id varchar(20);
13.修改表名mysql> rename table muzi_t1 to muzi_t2;
14.删除表mysql> drop table muzi_t2;
15.删除数据库mysql> drop database muzi;
16.查看系统当前日期和时间mysql> select current_date, current_time
17.查看数据库版本mysql> select version();
18.查看当前用户mysql> select user();
19.查看当前数据库mysql> select database();
20.查看数据库参数配置mysql> select database();
21.查看数据库状态mysql> show status;
数据库的备份和恢复:
》备份
1.备份整个库 mysqldump -u root -proot1234 muzi>/tmp/muzi.dump
2.备份数据库表mysqldump -u root -proot1234 muzi muzi_t1>/tmp/muzi_t1.dump
3.备份多个表mysqldump -u root -proot1234 muzi muzi_t1 muzi_t2>/tmp/muzi_t1_t2.dump
》恢复
1.恢复整个库mysql -u root -proot1234 muzi
2.恢复表mysql -u root -proot1234 muzi
数据库密码设置
1.mysql安装完毕后设置初始密码 mysqladmin -u root password 'password'
2.修改mysql数据库密码mysqladmin -u root -p password "new-password" (执行该命令会提示你输入原先的密码,待输入密码成功后,则设定新密码成功)
3.更新数据库用户密码:
mysql> update mysql.user set password=password('muzi1234') where user='muzi_user1' and host='localhost';
mysql> flush privileges;
数据库连接
1.本地连接 mysql -u root -proot1234
2.远程连接 mysql -u root -proot1234 -P 3306 -h 10.1.254.164
数据库用户
1.创建账号 mysql> help create user
create user muzi_user1 identified by 'muzi1234';
或者
grant all privileges on muzi.* to host identified by 'muzi1234' 创建用户并授权
或者
mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'jeecn’,password(‘jeecn’));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:jeecn 密码为:jeecn 的用户。
2.删除账号 mysql> help drop user
drop user muzi_user1;
3.账号授权 muzi.* 代表muzi数据库的所有对象
grant all privileges on muzi.* to %代表可以从本机登录也可以从别的地方登录
grant all privileges on muzi.* to localhost 代表muzi_user1仅可以从本机登录
grant all privileges on muzi.* to 指定ip代表muzi_user1 只能从10.1.32.108机器登录
4.phpmyadmin是一个第三方管理工具
执行sql语句
打开指定数据库 mysql>help source
mysql> source /tmp/aa.sql
数据库权限授权和回收(转)
mysql中授权命令grant用法详解:
mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为:
grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@’%’
grant insert on testdb.* to common_user@’%’
grant update on testdb.* to common_user@’%’
grant delete on testdb.* to common_user@’%’
或者,用一条 MySQL 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@’%’
二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。
grant 创建、修改、删除 MySQL 数据表结构权限。
grant create on testdb.* to developer@’192.168.0.%’;
grant alter on testdb.* to developer@’192.168.0.%’;
grant drop on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 外键权限。
grant references on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 临时表权限。
grant create temporary tables on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 索引权限。
grant index on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 视图、查看视图源代码 权限。
grant create view on testdb.* to developer@’192.168.0.%’;
grant show view on testdb.* to developer@’192.168.0.%’;
grant 操作 MySQL 存储过程、函数 权限。
grant create routine on testdb.* to developer@’192.168.0.%’; -- now, can show procedure status
grant alter routine on testdb.* to developer@’192.168.0.%’; -- now, you can drop a procedure
grant execute on testdb.* to developer@’192.168.0.%’;
三、grant 普通 DBA 管理某个 MySQL 数据库的权限。
grant all privileges on testdb to dba@’localhost’
其中,关键字 “privileges” 可以省略。
四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。
grant all on *.* to dba@’localhost’
五、MySQL grant 权限,分别可以作用在多个层次上。
1. grant 作用在整个 MySQL 服务器上:
grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库
2. grant 作用在单个数据库上:
grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。
3. grant 作用在单个数据表上:
grant select, insert, update, delete on testdb.orders to dba@localhost;
4. grant 作用在表中的列上:
grant select(id, se, rank) on testdb.apache_log to dba@localhost;
5. grant 作用在存储过程、函数上:
grant execute on procedure testdb.pr_add to ’dba’@’localhost’
grant execute on function testdb.fn_add to ’dba’@’localhost’
六、查看 MySQL 用户权限
查看当前用户(自己)权限:
show grants;
查看其他 MySQL 用户权限:
show grants for dba@localhost;
七、撤销已经赋予给 MySQL 用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;
八、MySQL grant、revoke 用户权限注意事项
1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
grant select on testdb.* to dba@localhost with grant option;
这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理
阅读(1852) | 评论(1) | 转发(3) |