当前位置 博文首页 > A_art_xiang的博客:mysql登录、导入导出、用户权限、事务操作汇

    A_art_xiang的博客:mysql登录、导入导出、用户权限、事务操作汇

    作者:[db:作者] 时间:2021-07-14 13:11

    目录

    ?

    登录

    导出

    导入

    权限

    事务


    登录

    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;//回滚

    cs