现在的位置: 首页 > 综合 > 正文

MySQL中修改密码、编码设置、创建新用户、删除新用户以及备份等指令

2018年02月03日 ⁄ 综合 ⁄ 共 3422字 ⁄ 字号 评论关闭

一、连接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;



抱歉!评论已关闭.