修改新密码:
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 Files\MySQL\MySQL Server 4.1\bin
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文件
解决办法如下:
1.
找到[ C:\Program Files\MySQL\MySQL Server 5.5\my.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 Files\MySQL\MySQL Server 5.5\my.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; #刷新才会生效