当前位置 博文首页 > A_art_xiang的博客:mysql登录、导入导出、用户权限、事务操作汇
目录
?
登录
导出
导入
权限
事务
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