一、连接Mysql
格式: mysql -h主机地址 -u用户名 -p用户密码
1、连接到本机上的MYSQL。
首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。
如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>
2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)
二 密码修改
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、给root加个密码ab12。
首先在DOS下进入目录mysql\bin,然后键入以下命令
mysqladmin -u root -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、再将root的密码改为djg345。
mysqladmin -u root -p ab12 password djg345
三:查看相关信息的常用语句:
显示所有数据库
show databases;
显示当前数据库中的所有表
show tables;
显示该表的结构信息
desc tablename(表的具体信息)和show columns from tablename;一样的
describe tablename;来显示表的具体结构
可以使用explain来查看定义的索引是否起作用。
show index from tablename;
数据库之间的转化:
use 数据库名;
四:修改表名命令:rename table 原表名 to 新表名;
五:备份
1.导出整个数据库
导出文件默认是存在mysql\bin目录下
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.导出一个数据库结构
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
4.带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
例如,将aaa库备份到文件back_aaa中:
[root@test1 root]# cd /home/data/mysql
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa
六:编码设置:
charset gbk;
七:大数据类型
除了我们经常使用的类型之外我们还可以在数据库中存放文件、图片等比较大的数据;
我们使用的时候声明类型为blob(binary large object字节型)或是clob(character large object字符型);
八:建立临时表的编写:
创建MySQL临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字
CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL, value INTEGER NOT NULL )
九: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 "";
这样就创建了一个名为:test2 密码为:1234 的用户。
然后登录一下。
mysql>exit;
@>mysql -u test2 -p
@>输入密码
mysql>登录成功
十:为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(testDB)
mysql>create database testDB;
//授权test用户拥有test数据库的所有权限。
>grant all privileges on testDB.* to test@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on testDB.* to test@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
*/
十一:删除用户。
@>mysql -u root -p
@>密码
mysql>Delete FROM user Where User="test" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database testDB;
十二:修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";
mysql>flush privileges;
十三:删除数据库和数据表
mysql>drop database 数据库名;
mysql>drop table 数据表名;
从MySQL删除用户账户
要想移除账户,应使用Drop USER语句.
Drop USER user [, user] ...
Drop USER语句用于删除一个或多个MySQL账户。要使用Drop USER,您必须拥有mysql数据库的全局Create USER权限或Delete权限。使用与GRANT或REVOKE相同的格式为每个 账户命名;如,'jeffrey'@'localhost'。 账户名称的用户和主机部分与用户表记录的User和Host列值相对应.
使用Drop USER,您可以取消一个账户和其权限,操作如下:
Drop USER user;
该语句可以删除来自所有授权表的帐户权限记录。
drop user username@'%';
drop user username@localhost;