zoukankan      html  css  js  c++  java
  • MYSQL_详细基本命令

    修改新密码:
    use mysql;
    update user set password='新密码' where user='用户名';
    flush privileges;  更新权限

    增加新用户:
    grant select ,insert,update,delete on 数据库.表 to 用户名@登陆主机 identified by '密码';
    flush privileges;更新权限

    mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

    例 1:如果你不想 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 库名;

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


    删除数据库
    mysql> drop database 库名;

    表操作:
    备注:操作之前使用“use <数据库名>”应连接某个数据库。
    建表
    命令:create table 表名 (<字段名 1> <类型 1> [,..<字段名 n> <类型 n>]);
    例子:
    mysql> create table 表名(
    > 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 student;
    mysql> desc student;
    mysql> show columns from student;


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

    插入数据
    命令:insert into 表名 ( 字段名 1,..字段名 n ) values ( '值 1' , '值 n' );
    insert into student (name,age,register_date) values ('liudong',18,'2016-10-24’);

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

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


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

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

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

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

    按照下面的三个步骤,快速导入这个sql文件

    mysql>use yourdatabasename;
    mysql>set names utf8;
    mysql>source /tmp/database.sql;

    1、创建数据库

    mysql> create database cacti;

    2、导入数据库

    mysql -uroot -p cacti cacti.sql 

    3、创建数据库用户

    shell> mysql -uroot -p mysql 
    mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword'; 
    mysql> flush privileges; 

    mysqldump
    命令行导出数据库:
    1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
    如我输入的命令行:cd C:Program FilesMySQLMySQL Server 4.1in

    2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
    如我输入的命令行:mysqldump -u root -p news > news.sql (输入后会让你输入进入MySQL的密码)
    (如果导出单张表的话在数据库名后面输入表名即可)会看到文件news.sql自动生成到bin文件下

    命令行导入数据库:
    1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
    2,同上面导出的第1步

    3,进入MySQL:mysql -u 用户名 -p
    如我输入的命令行:mysql -u root -p (输入同样后会让你输入ySQL的密码)

    4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库(mysql>create database news;)
    5,输入:mysql>use 目标数据库名

    如我输入的命令行:mysql>use news;

    6,导入文件:mysql>source 导入的文件名; 
    如我输入的命令行:mysql>source news.sql;

    实例:

    导出
    #> cd /usr/local/src
    #> /usr/local/mysql/bin/mysqldump -uroot -p123456 cacti > cacti.sql;
    这样就看到cacti.sql导出到了/usr/local/src/目录

    1.导出整个数据库
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    mysqldump -u root -p abc > abc.sql

    2.导出一个表
    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    mysqldump -u root -p abc users> abc_users.sql

    3.导出一个数据库结构
    mysqldump -u root -p -d --add-drop-table abc >/usr/local/abc_db.sql
    -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

    导入
    #> /usr/local/mysql/bin/mysql -uroot -p
    mysql> create database cacti; 新建数据库名为cacti
    mysql> use cacti; 选择目标数据库
    mysql> source /usr/local/src/cacti.sql 导入数据库
    这样就导入了cacti.sql文件

    mysql root没有权限的问题解决

    解决办法如下:

    1.

    找到[      C:Program FilesMySQLMySQL Server 5.5my.ini     ]这个文件。

    编辑该文件在文件最后添加一行代码【skip-grant-tables】,保存文件并关闭。

    2.

    重启MySql5服务

    3.

    修改root账号的密码;

    打开doc窗口,

    接着执行命令【mysql -u root -p】不用密码直接进入。

    继续执行命令【use mysql】

    继续执行命令【update user set password=password("root") where user="root";】

    最后一个命令是将用户root的密码修改成了root

    4.

    还原[      C:Program FilesMySQLMySQL Server 5.5my.ini     ]配置文件

    重启MySql5服务

    用户:root

    密码:root

    OK!成功连接MySql5。Thank you!

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

    1.新建用户

      1.1 登录MYSQL:

      @>mysql -u root -p

      @>密码

      1.2 创建用户:

      mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

      这样就创建了一个名为:test 密码为:1234 的用户。

      注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

      1.3 然后登录一下:

      mysql>exit;

      @>mysql -u test -p

      @>输入密码

      mysql>登录成功

    2.为用户授权

      授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

      2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

      @>mysql -u root -p

      @>密码

      2.2 首先为用户创建一个数据库(testDB):

      mysql>create database testDB;

      2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):

       mysql>grant all privileges on testDB.* to test@localhost identified by '1234';

       mysql>flush privileges;//刷新系统权限表

      格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

      2.4 如果想指定部分权限给一用户,可以这样来写:

      mysql>grant select,update on testDB.* to test@localhost identified by '1234';

      mysql>flush privileges; //刷新系统权限表

      2.5 授权test用户拥有所有数据库的某些权限:   

      mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

         //test用户对所有数据库都有select,delete,update,create,drop 权限。

      //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

     //对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。

    3. 删除用户

       @>mysql -u root -p

      @>密码

       mysql>Delete FROM user Where User='test' and Host='localhost';

       mysql>flush privileges;

       mysql>drop database testDB; //删除用户的数据库

    删除账户及权限:>drop user 用户名@'%';

            >drop user 用户名@ localhost; 

    4. 修改指定用户密码

        @>mysql -u root -p

        @>密码

        mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";

        mysql>flush privileges;

    5.在Mysqldump官方工具中,如何只恢复某个库呢?

    全库备份

    [root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql

    只还原erp库的内容

    [root@HE1 ~]# mysql -uroot -pMANAGER erp --one-database <dump.sql

    可以看出这里主要用到的参数是--one-database简写-o的参数,极大方便了我们的恢复灵活性。

    复制代码
     创建普通用户并授权
    
    示例(使用root用户登录,并假定已经创建了openscannerstore数据库):
    
    
    mysql > use mysql;
    
    
    #创建openscanner用户与密码并设置为从安装mysql服务的机器本地访问
    
    mysql > grant all on openscannerstore.* to 'openscanner'@'localhost' identified by 'scanner888';
    
    
    #设置openscanner用户与密码,并从任何机器都可以访问mysql
    
    mysql > grant all on openscannerstore.* to 'openscanner'@'%' identified by 'scanner888';
    
    
    mysql > flush privileges;            #刷新才会生效
  • 相关阅读:
    从虚拟地址,到物理地址(开PAE)
    无LoadLibrary获取指定模块基址
    练习
    Centos安装Python3及设置对应版本pip
    Varnish安装使用(初学)
    luogu P2463 [SDOI2008]Sandy的卡片 |二分+hash
    luogu P2852 [USACO06DEC]牛奶模式Milk Patterns |二分+hash
    luogu P4051 [JSOI2007]字符加密 |后缀数组(SA)
    弦图 学习笔记&
    luogu P1600 天天爱跑步 |树上差分+LCA
  • 原文地址:https://www.cnblogs.com/li1204008978/p/6226302.html
Copyright © 2011-2022 走看看