使用MySQL(MariaDB)进行无数据复制数据库
“测试数据库”
将其转化为汉语的一个同义句,只需要一种选项就好:
を
“第二次考试”
我只想要复制表结构。
环境
-
- OS: Ubuntu 18.04 LTS
- MariaDB (mysql Ver 15.1 Distrib 10.1.44-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2)
获取数据
从根目录下的Shell进行操作。
# mysqldump -u root -p --no-data テストデータベース > db.skeleton
只需在常规的 mysqldump 命令后面加上 –no-data 参数即可
创建一个新的数据库
使用 root 用户登录到 MySQL 数据库。
# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 521
Server version: 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database テスト2;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> exit
Bye
读取
从终端控制台上通过命令行。
# mysql -u root -p テスト2 < db.skeleton
用户权限设置
“需要像在「MariaDB on Ubuntu 18.04 LTS」(https://qiita.com/nanbuwks/items/c98c51744bd0f72a7087)中那样为webdb用户设置权限,因此需要进行相同的设置。”
请使用 root 用户登录到 mysql 数据库。
# mysql -u root -p
MariaDB [(none)]> GRANT ALL ON テスト2.* TO 'webdb'@'localhost';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON テスト2.* TO webdb@'%';
Query OK, 0 rows affected (0.00 sec)
没问题