mysql 的命令操作:
1.显示数据库列表.
show databases;
刚开始时才两个数据库: mysql 和 test.mysql 库很重要它里面有 MySQL 的系统信息 https://baike.baidu.com/item/%E7%B3%BB%E7%BB%9F%E4%BF%A1%E6%81%AF , 我们改密码和新增用户, 实际上就是用这个库进行操作.
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 表名;
9.显示最后一个执行的语句所产生的错误, 警告和通知:
show warnings;
10.只显示最后一个执行语句所产生的错误:
- show errors;
- ==========================================================================
实例:
- 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('','glchengang','XX 公司','1976-10-10');
- insert into teacher values('','jack','XX 公司','1975-12-23');
注: 在建表中:
1.将 ID 设为长度为 3 的数字字段: int(3)并让它每个记录自动加一: auto_increment 并不能为空: not null 而且让他成为主字段 primary key.
2.将 NAME 设为长度为 10 的字符字段.
3.将 ADDRESS 设为长度 50 的字符字段, 而且缺省值为深圳. varchar 和 char 有什么区别呢, 只有等以后的文章再说了.
4.将 YEAR 设为日期 https://baike.baidu.com/item/%E6%97%A5%E6%9C%9F 字段.
如果你在 mysql 提示符键入上面的命令也可以, 但不方便调试. 你可以将以上命令原样写入一个文本文件中假设为 school.sql, 然后复制到 c:\ 下, 并在 DOS 状态进入目录 \ mysql\bin, 然后键入以下命令:
mysql -uroot -p 密码 <c:\school.sql
如果成功, 空出一行无任何显示; 如有错误, 会有提示.(以上命令已经调试, 你只要将 // 的注释去掉即可使用).
文本转数据库
1.文本数据应符合的格式: 字段数据之间用 tab 键隔开, null 值用 \ n 来代替.
例:
3.rose 深圳二中 1976-10-10
4.mike 深圳一中 1975-12-23
2.数据传入命令 load data local infile "文件名" into table 表名;
注意: 你最好将文件复制到 \ mysql\bin 目录下, 并且要先用 use 命令打开表所在的数据库
或者登录数据库前将路径转移 (cd) 到要导入文本所在路径.
备份数据库
- (命令在 DOS 的 \ mysql\bin 目录下执行)
- mysqldump --opt school>school.bbb
注释: 将数据库 school 备份到 school.bbb 文件, school.bbb 是一个文本文件, 文件名任取, 打开看看你会有新发现.
自动备份 mysql 数据库的方法
1, 先是建立批处理文件, 将以下代码另存为. bat 文件, 文件名最好为英文. 注意下面的路径, 以笔者自己的数据库为例, 数据库安装在 D 盘下 mysql\mysql 下, 备份位置在 F:\beifen, 后面的代码是日期 8() .
- @echo off 9()
- color 0D
- MODE con: COLS=71 LINES=25
title mysql 数据库自动备份脚本(任务计划)-- 脚本作者: http://www/ .***.com
- set sou_dir="D:\mysql\Mysql\data"
- set obj_dir=F:\beifen\%date:~0,10%
- net stop mysql
- md %obj_dir%
- xcopy /e /y %sou_dir% %obj_dir%
- net start mysql
- @echo off&setlocal enabledelayedexpansion
- call:D,30
echo. 30 天前日期为:%D%
echo. 删除 30 天以前备份......
if exist F:\beifen\%D% rd /s /q F:\beifen\%D%
echo 自动备份完成, 程序将自动退出......
还原导入
还原 / 导入数据库 10() , 导入过程, 进入 mysql 数据库控制台, 如 mysql -u root -p
mysql>use 数据库
然后使用 source 命令, 后面参数为脚本文件(如这里用到的. sql)
mysql>source d:\dbname.sql
如果提示找不到文件, 输完 source 后, 可以用鼠标把文件直接拖进命令行窗口
启动跟踪
mysqld --debug
关闭服务器
mysqladmin -u root shutdown
启动服务
mysqld --console
远程访问
** 编辑
1: 将 localhost 改成 "%"
修改 "mysql" 数据库里的 "user" 表里的 "host" 项, 将 "localhost" 改成 "%"
- mysql>use mysql;
- mysql>update user set host = '%' where user = 'root';
- mysql>select host, user from user;
- mysql>FLUSH PRIVILEGES;
2: 使用 myuser/mypassword 从任何主机连接到 mysql 服务器:
GRANT ALL PRIVILEGES ON . TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用 myuser/mypassword 从 ip 为 192.168.225.166 的主机连接到 mysql 服务器:
GRANT ALL PRIVILEGES ON . TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3: 泛授权
- mysql -h localhost -u root
- mysql>GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION; // 赋予任何主机上以 root 身份访问数据的权限
- mysql>FLUSH PRIVILEGES; 17()
来源: http://www.jianshu.com/p/4c89bb9466c1