2.4Mysql修改、备份、恢复数据库
Posted by 撒得一地 on 2023年5月25日 in Mysql教程
上一篇: 2.3创建数据库
1.修改数据库语法:
ALTER DATABASE [IF EXISTS] db_name [alter_specification [, alter_specification] ...] 其中alter_specification包括如下几个选项: [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE collation_name
例子:修改数据库psz的字符集为utf-8
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | psz | +--------------------+ 4 rows in set (0.00 sec) mysql> ALTER database psz character set utf8; Query OK, 1 row affected (0.02 sec)
2.备份数据库
*备份某数据库下的所有表,语法:
mysqldump -u 用户名 -p 数据库名 > e:\\文件名.sql (保存地址为window操作系统下的e盘)
例子:备份上面的psz数据下的所有表,在linux下操作语句如下
[root@lmode~]# mysqldump -u root -p psz > /home/psz/aa.sql Enter password: [root@lmode ~]# ll /home/psz/ total 7632 -rw-r--r-- 1 root root 1832 Aug 25 22:02 aa.sql
上面的操作语句含义是:将psz数据库下的所有表备份到/home/psz/目录下,并重命名为aa.sql。在linux和window下,要特别注意保存地址的不同。
*备份某数据库下的某些表,语法:
mysqldump –u 用户名 –p密码 数据库 表1 表2 表3.. > d:\\文件名.sql
例子:备份上面psz数据库里面的just_test表,语句如下
[root@lmode~]# mysqldump -u root -p psz just_test > /home/psz/test.sql; Enter password: [root@lmode~]# ll /home/psz/ total 7636 -rw-r--r-- 1 root root 1832 Aug 25 22:02 aa.sql -rw-r--r-- 1 root root 1832 Aug 25 22:18 test.sql
注意上面的密码可以紧跟在-p选项后写 也可以最后写。
*备份数据库及这些数据库下的所有表,会多 CREATE DATABASE 语句.语法:
mysqldump –u 用户名 –p密码 –B 数据库1 数据库2 .. > d:\\文件名.sql
例子:备份上面数据库psz及psz下的所有表 语句如下:
[root@lmode~]# mysqldump -u root -p -B psz > /home/psz/db.sql; Enter password: [root@lmode~]# ll /home/psz/ total 7640 -rw-r--r-- 1 root root 1832 Aug 25 22:02 aa.sql -rw-r--r-- 1 root root 1966 Aug 25 22:24 db.sql -rw-r--r-- 1 root root 1832 Aug 25 22:18 test.sql
注意上面的数据库密码可以紧跟-p选项后书写,也可以在最后语句写完后输入密码
3.将sql导入数据库,语法:
恢复数据库[以库为单位] Source 文件名.sql 恢复数据库[以表为单位] use 某个库. Source 文件名.sql
例子:删掉psz数据库里面的just_test表,然后将之前备份的test.sql导入psz数据库
mysql> use psz; Database changed mysql> show tables; +---------------+ | Tables_in_psz | +---------------+ | just_test | +---------------+ 1 row in set (0.00 sec) mysql> drop table just_test; Query OK, 0 rows affected (0.02 sec) mysql> show tables; Empty set (0.00 sec) mysql> source /home/psz/test.sql; Query OK, 0 rows affected (0.00 sec) mysql> show tables; +---------------+ | Tables_in_psz | +---------------+ | just_test | +---------------+ 1 row in set (0.00 sec)
上一篇: 2.3创建数据库
下一篇:已是最新文章
下一篇:已是最新文章