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;            #刷新才会生效
原文地址:https://www.cnblogs.com/li1204008978/p/6226302.html