mysql登录、导入导出、用户权限、事务操作汇总大全

252 阅读3分钟

目录

 

登录

导出

导入

权限

事务


登录

1.本地登录MySQL

命令:mysql -u root -p   //root是用户名,输入这条命令按回车键后系统会提示你输入密码

2.指定端口号登录MySQL数据库

将以上命令:mysql -u root -p改为 mysql -u root -p  -P 3306  即可,注意指定端口的字母P为大写,而标识密码的p为小写。MySQL默认端口号为3306

3.指定IP地址和端口号登录MySQL数据库

命令格式为:mysql -h ip -u root -p -P 3306例如:mysql -h 127.0.0.1 -u root -p -P 3306

例如: 在shell终端或者ssh终端,或者cmd窗口远程登录 端口为3308,用户名为user1,ip为 192.168.1.3 的mysql服务器的命令是

mysql -h 192.168.1.3 -u user1 -p -P 3308

导出

1、导出数据和表结构:

mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql

#/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql

敲回车后会提示输入密码

2、只导出表结构

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql

#/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/  --->  mysql的data目录

3、备份多个数据库

mysqldump -uroot -p'' -B 数据库1 [数据库2 数据库3 ....]

4、只备份数据库的数据 

mysqldump -uroot -p'' -t 数据库名

5、在导出数据的时候将字段一起导出 

mysqldump -uroot -p'' -c -B 数据库名

6、指定条件导出数据 

mysqldump -uroot -p'' -t 数据库名 表名 --where="res_type=1 and group_id=1 and ts>2015122115005600474 ORDER BY TS DESC LIMIT 1" --replace 

--replace:使用REPLACE INTO 取代INSERT INTO

7、生产中一般是几个命令连用 

mysqldump -uroot -p' ' -B -c --event --opt --single-transaction -F --master-data=2 数据库名 > 自定义名称

8.#整库备份,排除某表

mysqldump -uroot -p123 --databases test --routines --ignore-table=test.t1 --ignore-table=test.t2 >abc.sql

导入

方法一

(1)选择数据库

mysql>use abc;

(2)设置数据库编码

mysql>set names utf8;

(3)导入数据(注意sql文件的路径)

mysql>source /home/abc/abc.sql;

方法二

mysql -u用户名 -p密码 数据库名 < 数据库名.sql

#mysql -uabc -p abc < abc.sql

建议使用第二种方法导入。

注意:有命令行模式,有sql命令

直接一行导入(不需要登录mysql):

mysql -u root -p123698745 -e "source abc.sql"

权限

用户管理

mysql>use mysql;

查看

mysql> select host,user,password from user ;

创建

mysql> create user  zx_root   IDENTIFIED by 'xxxxx';   //identified by 会将纯文本密码加密作为散列值存储

修改

mysql>rename   user  feng  to   newuser;//mysql 5之后可以使用,之前需要使用update 更新user表

删除

mysql>drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

更改密码

mysql> set password for zx_root =password('xxxxxx');

mysql> update  mysql.user  set  password=password('xxxx')  where user='otheruser'

查看用户权限

mysql> show grants for zx_root;

赋予权限

mysql> grant select on dmc_db.*  to zx_root;

回收权限

mysql> revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错

事务

开启事务:

START TRANSACTION;

事务代码

commit; //提交

rollback;//回滚