脚本之家mysql常用命令使用方法整理总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
脚本之家:mysql 常用命令使用方法整理总结脚本的家整理版
疯狂代码 / ĵ:http://DataBase/Article79044.html
mysqldump 命令使用
备份和导出数据库
mysqldump -h database_ip -u Username -p --opt databasename > backup-file.sql
只导出数据库表结构
mysqldump -h database_ip -d -u Username -p databasename >database_structure.sql
只导出数据库中某个表
mysqldump --opt --add-drop-table -u Username -p databasename tablename > dump.sql
如果不想手工输入密码 请使用--password 参数
mysqldump -h database_ip -u Username --password=123456 --opt databasename > backup-file.sql mysqldump -h database_ip -d -u Username --password=123456 databasename
>database_structure.sql
mysql 命令使用 将查询结果保存到文件
select title from book o outfile '/tmp/outfile.txt';
查找表中多余重复记录重复记录是根据某个字段(peopleId)来判断
select * from people where peopleId in (select peopleId from people group by
peopleId having count(peopleId) > 1);
查询表中不重复记录(排除重复记录)
select * from phome_ecms_wma where title in (select distinct title from phome_ecms_wma);
删除表中重复记录,重复记录是根据某个字段(title)来判断
select *,count(distinct title) INTO OUTFILE '/tmp/table.bak' from phome_ecms_wma group by title; delete from phome_ecms_wma;
LOAD DATA INFILE '/tmp/table.bak' REPLACE INTO TABLE phome_ecms_wma character utf8;
查询数据库当前编码
mysql> show variables like "character_%";
修改表字段类型
mysql> alter table table_name change last_action last_action datetime NOT NULL default '0000-00-00 00:00:00';
给表添加个新字段
mysql> ALTER TABLE host ADD ks_mac VARCHAR(100);
从表中删除个字段
mysql> ALTER TABLE table_name DROP field_name;
重命名表
mysql>alter table t1 rename t2;
给字段加索引
mysql> alter table tablename add index 索引名 (字段名1[字段名2 …]);
mysql> alter table tablename add index emp_name (name);
加主关键字索引
mysql> alter table tablename add primary key(id);
加唯限制条件索引
mysql> alter table tablename add unique emp_name2(cardnumber);
删除某个索引
mysql>alter table tablename drop index emp_name;
远程访问mysql 设置
mysql> GRANT ALL PRIVILEGES _disibledevent=>刚安装好MySQL包含个含空密码root帐户和个匿名帐户这是很大安全隐患对于些重要应用我们应将安全性尽可能提高在这里应把匿名帐户删除、root帐户设置密码可用如下命令进行:
=
mysql> use mysql;
mysql> delete from User where User="";
mysql> update User Password=PASSWORD(password) where User=root;
=
如果要对用户所用登录终端进行限制可以更新User表中相应用户Host字段在进行了以上更改后应重新启动数据库服务此时登录时可用如下类似命令:
=
shell> mysql -uroot -p;
shell> mysql -uroot -ppassword;
shell> mysql mydb -uroot -p;
shell> mysql mydb -uroot -ppassword;
=
上面命令参数是常用参数部分详细情况可参考文档此处mydb是要登录数据库名称
在进行开发和实际应用中用户不应该只用root用户进行连接数据库虽然使用root用户进行测试时很方便但会给系统带来重大安全隐患也不利于管理技术提高我们给个应用中使用用户赋予最恰当数据库权限如个只进行数据插入用户不应赋予其删除数据权限MySQL用户管理是通过User表来实现添加新用户常用思路方法有两个是在User表插入相应数据行同时设置相应权限; 2是通过grant命令创建具有某种权限用户其中grant常用使用方法如下:
mysql> grant all _disibledevent=>若要给此用户赋予他在相应对象上权限管理能力可在grant后面添加with grant option选项而对于用插入User表添加用户Password字段应用password进行更新加密以防不轨的人窃看