当前位置:网站首页>mysql进阶(三十一)常用命令汇总
mysql进阶(三十一)常用命令汇总
2022-08-09 09:02:00 【InfoQ】
一、连接MYSQL
格式:
mysql -h主机地址 -u用户名 -p用户密码
1.1 连接到本机上的MYSQL。
首先打开
DOS
窗口,然后进入目录
mysql\bin
,再键入命令
mysql -u root -p
,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。
如果刚安装好
MYSQL
,超级用户root是没有密码的,故直接回车即可进入到
MYSQL
中了,
MYSQL
的提示符是:
mysql>
。
1.2 连接到远程主机上的MYSQL
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h 110.110.110.110 -u root -p 123;
(注:u与root之间可以不用加空格,其它也一样)
1.3 退出MYSQL命令: exit (回车)
二、修改密码
格式:
mysqladmin -u用户名 -p旧密码 password 新密码
- 给root加个密码ab12。首先在
DOS
下进入目录mysql\bin
,然后键入以下命令
mysqladmin -u root -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
- 再将root的密码改为djg345。
mysqladmin -u root -p ab12 password djg345
三、增加新用户
(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:
grant select on 数据库.* to 用户名@登录主机 identified by “密码”
- 增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to [email protected]”%” Identified by “abc”;
但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。
- 增加一个用户test2密码为abc,让他只可以在
localhost
上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL
主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to [email protected] identified by “abc”;
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to [email protected] identified by “”;
四、操作技巧
- 如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
- 你可以使用光标上下键调出以前的命令。
五、显示命令
5.1 显示当前数据库服务器中的数据库列表
mysql> SHOW DATABASES;
注意:
mysql
库里面有
MYSQL
的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
5.2 显示数据库中的数据表
mysql> USE 库名;
mysql> SHOW TABLES;
5.3 显示数据表的结构
mysql> DESCRIBE 表名;
5.4 建立数据库
mysql> CREATE DATABASE 库名;
5.5 建立数据表
mysql> USE 库名;
mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
5.6 删除数据库
mysql> DROP DATABASE 库名;
5.7 删除数据表
mysql> DROP TABLE 表名;
5.8 将表中记录清空
mysql> DELETE FROM 表名;
5.9 显示表中记录
mysql> SELECT * FROM 表名;
5.10 往表中插入记录
mysql> INSERT INTO 表名 VALUES (”hyq”,”M”);
5.11 更新表中数据
mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
5.12 用文本方式将数据装入数据表中
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;
5.13 导入.sql文件命令
mysql> USE 数据库名;
mysql> SOURCE d:/mysql.sql;
5.14 命令行修改root密码
mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
mysql> FLUSH PRIVILEGES;
5.15 显示use的数据库名
mysql> SELECT DATABASE();
5.16 显示当前的user
mysql> SELECT USER();
5.17 修改数据表名称
alter table table_name rename table_new_name;
六、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default ‘深圳',
year date
); //建表结束
//以下为插入字段
insert into teacher values(”,'allen','大连一中','1976-10-10′);
insert into teacher values(”,'jack','大连二中','1975-12-23′);
如果你在
mysql
提示符键入上面的命令也可以,但不方便调试。
- 你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c:\下,并在
DOS
状态进入目录\\mysql\\bin
,然后键入以下命令:
mysql -u root -p密码 < c:\\school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。2. 或者进入命令行后使用
mysql> source c:\\school.sql;
也可以将school.sql文件导入数据库中。
七、数据库备份
7.1 导出整个数据库
导出文件默认是存在
mysql\bin
目录下
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p 123456 database_name > outfile_name.sql
7.2 导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
7.3 导出一个数据库结构
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
7.4 带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
- 备份数据库
mysqldump -u root -p test_db > test_db.sql
- 恢复数据库
mysql -u root -p test_db < test_db.sql
- 创建权限
grant all privileges on test_db.* to [email protected]'localhost' identified by '123456';
兼容mysql4.1之前模式:
update mysql.user set password=old_password('123456') where user='test_db';
- 忘记密码在“
my.cnf
”或“my.ini
”文件的“mysqld
”配置段添加“skip-grant-tables
”,然后重新启动mysql
即可登录修改root
密码。
边栏推荐
猜你喜欢
随机推荐
The working principle of switch
【场景化解决方案】OA审批与用友U9数据集成
nodeMCU(ESP8266)和RC522的接线图
RDMA
【场景化解决方案】搭建数据桥梁,Dslink打通泛微系统连接流
数据库期末复习这一篇就够了(期末预习大概也行)
centos7 mysql异常ERROR 2002 (HY000)分析解决
PoPW代币分配机制或将点燃下一个牛市
ctf misc picture questions knowledge points
The 5th Blue Cap Cup preliminary misc reappears after the game
深度学习时代的视频理解综述
Three handshakes, four waves
QT program generates independent exe program (pit-avoiding version)
往二维数组追加键值
100句话,是否会触动你?
BUUCTF MISC Writing Notes (1)
STM32 如何知道FLASH的使用情况
requests爬取百度翻译
正则表达式基础介绍
算术表达式求值演示