MySQL安装的体会_学习MySQL的一些体会

学习MySQL的一些体会

1.Window2000下的安装.

A.安装目录最好(应该是一定要)是C:\, 以前有几次没看清楚说明,安装在D盘,结果启动不了。

B.安装成为启动服务:mysqld-nt --install

卸载服务:mysqld-nt --uninstall

移除服务:mysqld-nt --remove

启动服务:net start mysql

停止服务:net stop mysql

2.连接以及用户的管理

A.连接MySql数据库: mysql -h host -u user -p

比如用root登陆: mysql -h localhost -uroot -p

B.断开连接:quit或exit

C.新建用户(用户名为tom,密码为123):

用root连接到数据库,然后用以下的命令:

grant all privileges on *.* to'tom'@'localhost'identified by '123' with grant option;

或grant all privileges on *.* to'tom'@'%'identified by '123' with grant option;

或insert into user

values('localhost','tom',password('123'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

mysql 里创建自动编号字段:

CREATE TABLE `table1` ( `id` int(6) unsigned NOT NULL auto_increment, PRIMARY KEY  (`id`))

(int的一种,才可以,然auto_increment)

在一个MYSQL的表里面,如果原来已经有一万条记录了,清空后,怎么能让它从1开始,而不是从10001开始!

TRUNCATE your_table;

alter table your_table auto_increment = 1;

用文本方式将数据装入一个数据库表

如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。

创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在

CREATE TABLE语句中列出的列次序给出,例如:

abccs f 1977-07-07 china

mary f 1978-12-12 usa

tom m 1970-09-02 usa

使用下面命令将文本文件“mytable.txt”装载到mytable表中:

mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet;

执行sql脚本: myql>source d:\aa.sql

mysql数据导出和导入:

参考文章:MySQL数据导入导出方法与工具介绍                    http://blog.csdn.net/davidullua/archive/2004/04/26/21980.aspx

http://blog.csdn.net/davidullua/archive/2004/04/26/21981.aspx

http://blog.csdn.net/davidullua/archive/2004/04/26/21982.aspx

主要工具:mysqldump.exe、mysqlimport.exe和mysql.exe.三者均在mysql/bin目录下。

mysqlcc.exe 另外安装

2、用mysqldump工具备份数据时,备份文件中的中文无法显示: mysqldump -u root -p --all-databases > backup.sql 打开backup.sql后,发现数据部分中的中文全部 是????号。 此时加一个参数:--default-char-set=gbk,重新导出即可。

(一)导出

1、结构的导出

(1) 在mysqlcc中,选择某一表或者tables,按shift或者鼠标邮编,在弹出的快捷菜单中,选择"tool/show create".选择你要导出的表(可以多选,ctrl+a全选)

点击窗体下方的 execute.即可生成一个所选表结构的sql文件。

打开sql查询窗口,粘入上面生成的sql脚本。执行,即可在新位置生成所有的表结构。

(2)mysqldump.exe

具体参数很多,可查看--help

主要有

-h hostname

-u username

-p 密码

--add-drop-table

这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除

--add-locks

这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作

-c or - complete_insert

这个选项使得mysqldump命令给每一个产生INSERT语句加上(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。

-f or -force             使用这个选项,即使有错误发生,仍然继续导出

-l or -lock-tables      使用这个选项,导出表的时候服务器将会给表加锁。

-t or -no-create- info

这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。

-d or -no-data          这个选项使的mysqldump命令不创建INSERT语句。

在您只需要DDL语句时,可以使用这个选项。

-T path or -tab = path

这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命

名为table_name.txt.路径名是存放这两个文件的目录。目录必须已经存在,并且命令的使用者有对文件的特权。

-w "WHERE Clause" or -where = "Where clause "

可以使用这一选项来过筛选将要放到导出文件的数据。

(3) mysql.exe

利用SELECT INTO OUTFILE 语法可以将数据导出到一个外部文件。具体语法略。

(二)导入

1、结构

(1)mysqlCC

打开sql查询窗口,粘入上面生成的sql脚本。执行,即可在新位置生成所有的表结构。

(2)mysqlimport

可用于载入数据

(3)mysql.exe

bin/mysql –p < /home/mark/New_Data.sql

可以运行/home/mark/New_Data.sql中指定的sql脚本

(三)例子

1、欲从//gezhi211上得到javatest数据库的数据表结构导出到本地。不需要数据

(1)

运行mysqlcc,连接到//gezhi211,选择javatest数据的某一表,选择"tool/show create",选择所有的表,

点"execute",得到一系列的sql create语句。复制,保存为e:\work\table.txt.

(2)

在语句最前面加上 以下几句

drop database if exists javatest;

create database javatest;

use javatest;

用以创建数据库javatest

(3)

连接到本地,在mysqlcc中打开一个sql查询窗口,粘进上面的sql语句,执行。则数据表结构成功导到本地。

或者打开一个cmd窗口,键入mysql

2、欲从//gezhi211上得到javatest数据库的数据表结构导出到本地。包括数据

方法:

(1)导出数据

mysqldump -h gezhi211 -u root  --add-drop-table javatest >e:\work\backup\gezhi211javatest.txt

(2)

在语句最前面加上 以下几句

drop database if exists javatest;

create database javatest;

use javatest;

用以创建数据库javatest

(3)

导入数据

mysql -p

附:利用mysqldump导出数据的时候,有时定义的索引值不能为关键字,否则会报错。解决方法,业务应该利用--fields-enclosed-by参数将字段名包含起来。有待进一步尝试。

mysql更改到UTF8字符集,通过命名行参数启动:

mysqld --default-character-set=utf8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值