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