导入数据库: mysql -u 数据库用户名 -p 数据库名 < /www/web/askadc/public_html/my_sql.sql(数据库地址)
备份数据库: mysqldump -p 数据库名 -u 数据库用户名 > sql_backup.sql(数据库地址)
直接将MySQL数据库压缩备份mysqldump -u 数据库用户 -p数据库密码 数据库名 | gzip > sql_backup.sql.gz
还原压缩的MySQL数据库gunzip < sql_backup.sql.gz | mysql -u 数据库用户 -p数据库密码 数据库名
注意空格 -u 数据库用户之间有空格 -p数据库密码 之间无空格
如果没有权限就用root帐号操作
备份远程数据库到本地
mysqldump -P 3306 -h 1.2.3.4 -u 数据库用户名 -p数据库密码 数据库名 > my_sql.sql(数据库地址)
本地数据库导入到远程
mysql -h 1.2.3.4 -P 3306 -u 数据库用户名 -p数据库密码 数据库名 < my_sql.sql(数据库地址)
复制数据库
从 数据库名1 复制到 数据库名2
mysqldump 数据库名1 -u 数据库用户名 -p数据库密码 --add-drop-table | mysql 数据库名2 -u 数据库用户名 -p数据库密码
如果复制到远程数据库加上 -h 参数即可,如果非默认端口加上 -P 参数, 注意大小写
mysqldump 数据库名1 -u 数据库用户名 -p数据库密码 --add-drop-table | mysql -h 远程数据库地址(1.2.3.4) -P 远程数据库端口(3306) 数据库名2 -u 数据库用户名 -p数据库密码
SSH登陆mysql
本机:
mysql -u 用户名 -p密码
远程:(如果是默认端口可以不需要-P参数)
mysql -h 远程地址 -P 端口 -u 用户名 -p密码
mysql命令
查看所有数据库列表
show databases;
切换数据库
use 数据库名;
查看数据库大小
use information_schema;
查看所有
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;
查看指定数据库
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='数据库名';
查看指定表
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='数据库名' and table_name='表名';
查看所有数据库大小
SELECT
CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size,
TABLE_SCHEMA
FROM information_schema.tables
group by TABLE_SCHEMA;
创建用户:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
其中 `username` 是新用户的用户名,`host` 表示用户可以从哪些主机连接到数据库(使用 `%` 表示任意主机),`password` 是用户的密码。
授权权限:
# 这将授予用户对指定数据库的表的 SELECT 和 INSERT 权限。
GRANT SELECT, INSERT ON database.table TO 'username'@'host';
查看权限:
SHOW GRANTS FOR 'username'@'host';
撤销权限:
REVOKE INSERT ON database.table FROM 'username'@'host';
删除用户:
DROP USER 'username'@'host';