zoukankan      html  css  js  c++  java
  • MySQL导入sql脚本中文乱码设置和常用命令

    1. use database_name;
    2. set names utf8; (或其他需要的编码)
    3. source example.sql (sql文件存放路径) 

    Mysql安装目录
    数据库目录
    /var/lib/mysql/
    配置文件
    /usr/share/mysql(mysql.server命令及配置文件)
    相关命令
    /usr/bin(mysqladmin mysqldump等命令)
    启动脚本
    /etc/init.d/mysql(启动脚本文件mysql的目录)

    系统管理
    连接MySQL
    格式: mysql -h 主机地址 -u用户名 -p用户密码
    例 1:连接到本机上的 MySQL。
    hadoop@ubuntu:~$ mysql -uroot -pmysql;

    例 2:连接到远程主机上的 MYSQL。
    hadoop@ubuntu:~$ mysql -h 127.0.0.1 -uroot -pmysql;

    修改新密码
    在终端输入:mysql -u用户名 -p密码,回车进入Mysql。
    > use mysql;
    > update user set password=PASSWORD('新密码') where user='用户名';
    > flush privileges; #更新权限
    > quit; #退出

    增加新用户
    格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码'
    举例:
    例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有
    查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:
    mysql>grant select,insert,update,delete on *.* to root@localhost identified by 'mysql';
    或者
    grant all privileges on *.* to root@localhost identified by 'mysql';
    然后刷新权限设置。
    flush privileges;

    例 2:如果你不想 root 有密码操作数据库“mydb”里的数据表,可以再打一个命令将密码消掉。
    grant select,insert,update,delete on mydb.* to root@localhost identified by '';

    删除用户
    hadoop@ubuntu:~$ mysql -u用户名 -p密码
    mysql>delete from user where user='用户名' and host='localhost';
    mysql>flush privileges;
    //删除用户的数据库
    mysql>drop database dbname;

    数据库操作
    显示所有的数据库
    mysql> show databases;(注意:最后有个 s)

    创建数据库
    mysql> create database test;

    连接数据库
    mysql> use test;

    查看当前使用的数据库
    mysql> select database();

    当前数据库包含的表信息
    mysql> show tables; (注意:最后有个 s)

    删除数据库
    mysql> drop database test;

    表操作
    备注:操作之前使用“use <数据库名>”应连接某个数据库。
    建表
    命令:create table <表名> (<字段名 1> <类型 1> [,..<字段名 n> <类型 n>]);
    例子:
    mysql> create table MyClass(
    > id int(4) not null primary key auto_increment,
    > name char(20) not null,
    > sex int(4) not null default '0',
    > degree double(16,2));

    获取表结构
    命令: desc 表名,或者show columns from 表名
    例子:
    mysql> describe MyClass
    mysql> desc MyClass;
    mysql> show columns from MyClass;

    删除表
    命令:drop table <表名>
    例如:删除表名为 MyClass 的表
    mysql> drop table MyClass;

    插入数据
    命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values ( 值 1 )[, ( 值 n )]
    例子:
    mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

    查询表中的数据
    查询所有行
    mysql> select * from MyClass;

    查询前几行数据
    例如:查看表 MyClass 中前 2 行数据
    mysql> select * from MyClass order by id limit 0,2;
    或者
    mysql> select * from MyClass limit 0,2;

    删除表中数据
    命令:delete from 表名 where 表达式
    例如:删除表 MyClass 中编号为 1 的记录
    mysql> delete from MyClass where id=1;

    修改表中数据
    命令:update 表名 set 字段=新值,... where 条件
    mysql> update MyClass set name='Mary' where id=1;

    在表中增加字段
    命令:alter table 表名 add 字段 类型 其他;
    例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为 0
    mysql> alter table MyClass add passtest int(4) default '0'

    更改表名
    命令:rename table 原表名 to 新表名;
    例如:在表 MyClass 名字更改为 YouClass
    mysql> rename table MyClass to YouClass;

    更新字段内容
    命令:update 表名 set 字段名 = 新内容
    update 表名 set 字段名 = replace(字段名, '旧内容', '新内容');
    例如:文章前面加入 4 个空格
    update article set content=concat('    ', content);

    数据库导入导出
    从数据库导出数据库文件
    使用“mysqldump”命令
    首先进入 DOS 界面,然后进行下面操作。
    1)导出所有数据库
    格式:mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]

    2)导出数据和数据结构
    格式:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]
    举例:
    例 1:将数据库 mydb 导出到 e:MySQLmydb.sql 文件中。
    打开开始->运行->输入“cmd”,进入命令行模式。
    c:> mysqldump -h localhost -u root -p mydb >e:MySQLmydb.sql
    然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。

    例 2:将数据库 mydb 中的 mytable 导出到 e:MySQLmytable.sql 文件中。
    c:> mysqldump -h localhost -u root -p mydb mytable>e:MySQLmytable.sql

    例 3:将数据库 mydb 的结构导出到 e:MySQLmydb_stru.sql 文件中。
    c:> mysqldump -h localhost -u root -p mydb --add-drop-table >e:MySQLmydb_stru.sql
    备注:-h localhost 可以省略,其一般在虚拟主机上用。

    3)只导出数据不导出数据结构
    格式:
    mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径]

    4)导出数据库中的Events
    格式:mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径]

    5)导出数据库中的存储过程和函数
    格式:mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径]

    从外部文件导入数据库中
    1)使用“source”命令
    首先进入“mysql”命令控制台,然后创建数据库,然后使用该数据库。最后执行下面操作。
    mysql>source [备份文件的保存路径]

    2)使用“<”符号
    首先进入“mysql”命令控制台,然后创建数据库,然后退出 MySQL,进入 DOS 界面。最后执行下面操作。
    mysql -u root –p < [备份文件的保存路径]

    1:使用SHOW语句找出在服务器上当前存在什么数据库:
    mysql> SHOW DATABASES;
    2:2、创建一个数据库MYSQLDATA
    mysql> CREATE DATABASE MYSQLDATA;
    3:选择你所创建的数据库
    mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
    4:查看现在的数据库中存在什么表
    mysql> SHOW TABLES;
    5:创建一个数据库表
    mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
    6:显示表的结构:
    mysql> DESCRIBE MYTABLE;
    7:往表中加入记录
    mysql> insert into MYTABLE values (”hyq”,”M”);
    8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
    mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
    9:导入.sql文件命令(例如D:/mysql.sql)
    mysql>use database;
    mysql>source d:/mysql.sql;
    10:删除表
    mysql>drop TABLE MYTABLE;
    11:清空表
    mysql>delete from MYTABLE;
    12:更新表中数据
    mysql>update MYTABLE set sex=”f” where name=’hyq’;

    以下是无意中在网络看到的使用MySql的管理心得,
    在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start mysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqld start”命令,注意启动者应具有管理员权限。
    刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、 root帐户设置密码,可用如下命令进行:
    use mysql;
    delete from User where User=”";
    update User set Password=PASSWORD(’newpassword’) where User=’root’;
    如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,在进行了以上更改后应重新启动数据库服务,此时登录时可用如下类似命令:
    mysql -uroot -p;
    mysql -uroot -pnewpassword;
    mysql mydb -uroot -p;
    mysql mydb -uroot -pnewpassword;
    上面命令参数是常用参数的一部分,详细情况可参考文档。此处的mydb是要登录的数据库的名称。
    在 进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技 术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用 户。其中GRANT的常用用法如下:
    grant all on mydb.* to NewUserName@HostName identified by “password” ;
    grant usage on *.* to NewUserName@HostName identified by “password”;
    grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;
    grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;
    若 要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段, 也可以使用REVOKE操作。
    下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释:
    全局管理权限:
    FILE: 在MySQL服务器上读写文件。
    PROCESS: 显示或杀死属于其它用户的服务线程。
    RELOAD: 重载访问控制表,刷新日志等。
    SHUTDOWN: 关闭MySQL服务。
    数据库/数据表/数据列权限:
    ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
    CREATE: 建立新的数据库或数据表。
    DELETE: 删除表的记录。
    DROP: 删除数据表或数据库。
    INDEX: 建立或删除索引。
    INSERT: 增加表的记录。
    SELECT: 显示/搜索表的记录。
    UPDATE: 修改表中已存在的记录。
    特别的权限:
    ALL: 允许做任何事(和root一样)。
    USAGE: 只允许登录–其它什么也不允许做。

  • 相关阅读:
    C#面试题
    C# 安装部署
    Ribbon菜单栏布局和调整大小
    Dev GridControl使用小结
    C#多线程学习(一) 多线程的相关概念
    PDF转换成图片——11种方案
    C#多线程学习(二) 如何操纵一个线程
    C# 截屏方式
    dev中gridview控件
    (转载) 如何降低project压缩文件的大小? (Quartus II)
  • 原文地址:https://www.cnblogs.com/-blog/p/5333283.html
Copyright © 2011-2022 走看看