1、备份数据库可以使用mysqldump -h IP -u username -p --databases databasename>filename.dmp
2、还原的时候可以使用mysqldump:
mysql -uroot -p"db_password" -f dbname < backup.sql (-f 参数表示在导出过程中忽略出现的SQL错误)
nohup mysql -uroot -p"db_password" -f dbname < backup.sql > /dev/null 2>&1 & (在导入较大的sql文件时可以放到后台执行)
也可以mysql -uroot -p
先登录到数据库,use dbname
切换到需要导入的库中,然后执行 source filename.dmp
3、mysql导入备份数据时出错 :
No connection. Trying to reconnect...
ERROR 2005 (HY000): Unknown MySQL server host 'count(*)' (0)
ERROR:
Can't connect to the server
出现此问题很有可能是导出和导入的字符集不一致,如果导出时数据库字符集是utf8,导入时可以用如下参数:
mysql -uusername -p --default-character-set=utf8
4、导入时报错:
Failed to open file 'F:\project\中文路径\filename.dmp', error: 2
此问题可能是因为文件路径中含有中文,将备份文件放在英文路径下,重新导入即可。
5、Create DATABASE IF NOT EXISTS mydb default charset utf8 COLLATE utf8_general_ci; #创建数据库
6、create user ‘username’@‘localhost’ identified by ‘password’;#创建用户,仅限本地登陆
CREATE USER ‘username’@’%’ IDENTIFIED BY ‘password’;#创建用户,可远程登陆
7、grant 权限 on 数据库.* to 用户名@登录主机 identified by ‘密码’;
#可以查询 MySQL 中所有数据库中的表:
mysql>grant select on . to root@localhost;
#可以管理 MySQL 中的所有数据库:
mysql>grant all on . to root@localhost;
#可以查询 testdb 中的表:
mysql>grant select on testdb.* to root@localhost;
#grant 作用在单个数据表上:
mysql>grant select, insert, update, delete on testdb.orders to test@localhost;