共计 3404 个字符,预计需要花费 9 分钟才能阅读完成。
今天就跟大家聊聊有关 MySQL 数据库常用操作和技巧有哪些呢,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
MySQL 数据库可以说是 DBA 们最常见和常用的数据库之一,MySQL 的广泛应用,也使更多的人加入到学习它的行列之中。下面是老 MySQL DBA 总结的 MySQL 数据库最常见和最常使用的一些经验和技巧,分享给大家!
一、MySQL 数据库的备份
使用 MySQL 数据库,最常用也是最重要的就是数据库备份了,所以我们先介绍数据库备份。进行数据库备份,又很正规的数据库备份方法,同其他的数据库服 务器有相同的概念,但有没有想过,MySQL 会有更简捷的使用文件目录的备份方法,而且又快有好(这个方法没有得到官方正式文档的验证,我们暂称为试验 吧)。
目的:备份 hostA 主机中一个 mysql 数据库 TestA,并恢复到到 hostB 机中。
试验环境:
操作系统:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0;
在 hostA 中安装 mysql 数据库并建立 TestA 数据库;
hostB 机安装 mysql 数据库,没有 TestA 数据库。
方法步骤:
1、启动 phpMyAdmin 察看 HostA 和 HostB 中的数据库列表,在 HostB 中没有 TestA 数据库;
2、找到 HostA 中 mysql 的安装目录,并找到数据库目录 data;
3、在我的试验环境中,这个目录是 C:mysqldata;
4、找到对应数据库名称的子目录 C:mysqldataTestA;
5、粘贴拷贝到 HostB 的 Data 目录下,是 HostA 同 HostB Mysql 数据目录下的文件相同;
6、刷新 HostB 的 phpMyAdmin 察看一下数据库列表,我们看到 TestA 已经出现,并且作查询修改等操作都正常,备份恢复恢复成功。
试验结论:Mysql 的数据库可以通过文件形式保存、备份、恢复,只要将相应文件目录恢复即可,无需使用其它工具备份。
二、连接 MySQL
格式:mysql - h 主机地址 - u 用户名 - p 用户密码
1、连接到本机上的 MYSQL。
首先在打开 DOS 窗口,然后进入目录 mysqlbin,再键入命令 mysql -uroot -p,回车后提示你输密码,如果刚安装好 MYSQL,超级用户 root 是没有密码的,故直接回车即可进入到 MYSQL 中了,MYSQL 的提示符是:mysql》。
2、连接到远程主机上的 MYSQL。假设远程主机的 IP 为:110.110.110.110,用户名为 root,密码为 abcd123。则键入以下命令:
mysql -h210.110.110.110 -uroot -pabcd123 (注:u 与 root 可以不用加空格,其它也一样)
3、退出 MYSQL 命令:exit (回车)。
三、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就完成。
2、你可以使用光标上下键调出以前的命令。但以前我用过的一个 MySQL 旧版本不支持。我现在用的是 mysql-3.23.27-beta-win。
四、显示命令
1、显示数据库列表:
show databases;
刚开始时才两个数据库:mysql 和 test。MySQL 库很重要它里面有 MYSQL 的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; // 打开库,学过 FOXBASE 的一定不会陌生吧
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
五、一个建库和建表以及插入数据的实例
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 rsquo; 深圳 rsquo;,
year date
); // 建表结束
// 以下为插入字段
insert into teacher values(rsquo; rsquo;,rsquo;glchengang rsquo;,rsquo; 深圳一中 rsquo;,rsquo;1976-10-10 rsquo;);
insert into teacher values(rsquo; rsquo;,rsquo;jack rsquo;,rsquo; 深圳一中 rsquo;,rsquo;1975-12-23 rsquo;);
注:在建表中(1) 将 ID 设为长度为 3 的数字字段:int;(2)并让它每个记录自动加一:auto_increment 并不能为空:not null 而且让他成为主字段 primary key;(3)将 NAME 设为长度为 10 的字符字段;(4)将 ADDRESS 设为长度 50 的字符字段,而且缺省值为深圳。varchar 和 char 有什么 区别呢,只有等以后的文章再说了;(5)将 YEAR 设为日期字段。
如果你在 MySQL 提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为 school.sql,然后复制到 c:\ 下,并在 DOS 状态进入目录 \mysql\bin,然后键入以下命令:
mysql -uroot - p 密码《c:\school.sql
如果成功,空出一行无任何显示; 如有错误,会有提示。(以上命令已经调试,你只要将 // 的注释去掉即可使用)。
六、修改密码
格式:mysqladmin - u 用户名 - p 旧密码 password 新密码
1、给 root 加个密码 ab12。首先在 DOS 下进入目录 mysqlbin,然后键入以下命令:
mysqladmin -uroot -password ab12
注:因为开始时 root 没有密码,所以 - p 旧密码一项就可以省略了。
2、再将 root 的密码改为 djg345。
mysqladmin -uroot -pab12 password djg345
七、增加新用户。(注意:和上面不同,下面的因为是 MySQL 环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名 @登录主机 identified by“密码”
例 1、增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:
grant select,insert,update,
delete on *.* to test1@“%”Identified by“abc”;
但例 1 增加的用户是十分危险的,你想如某个人知道 test1 的密码,那么他就可以在 internet 上的任何一台电脑上登录你的 MySQL 数据库并对你的数据可以为所欲为了,解决办法见例 2。
例 2、增加一个用户 test2 密码为 abc,让他只可以在 localhost 上登录,并可以对数据库 mydb 进行查询、插入、修改、删除的操作 (localhost 指本地主机,即 MySQL 数据库所在的那台主机),这样用户即使用知道 test2 的密码,他也无法从 internet 上直接访问数据 库,只能通过 MySQL 主机上的 web 页来访问。
grant select,insert,update,
delete on mydb.* to test2@localhost identified by“abc”;
如果你不想 test2 有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb
.* to test2@localhost identified by“”;
看完上述内容,你们对 MySQL 数据库常用操作和技巧有哪些呢有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。