Mysql基本操作命令
mysql -h host -u user -p passwd
#连接远程服务器
mysqladmin -u用户名 -p旧密码 password 新密码
#修改密码
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON dbname.* TO 'user'@'localhost' IDENTIFIED BY 'password';
#新建用户并授予database数据库权限
select user,host from mysql.user;
#列出用户名
show grants for user@localhost;
#显示用户信息
drop user 'user'@'localhost';
#删除用户
flush privileges;
#修改用户信息后刷新
show databases;
#显示全部数据库
use mysql;
#选择数据库
show tables;
#显示数据表
describe 表名;
#显示数据表的结构:
create database 库名;
#新建数据库
drop database 库名;
#删除数据库
drop table 表名;
#删除数据表
delete from 表名;
#将表中记录清空:
select * from 表名;
#显示表中的记录:
Mysql数据库导出、导入
mysqldump --user=user --password=password --lock-all-tables dbname >back.sql
#备份单个数据库
mysqldump --user=user --password=password --lock-all-tables --all-databases > back.sql
#备份所有数据库
mysql -u用户名 -p 数据库名 < back.sql
#也可登入控制台使用source导入
备份用户信息:
#!/bin/bash
#Function export user privileges
pwd=123456
expgrants()
{
mysql -B -u'root' -p${pwd} -N $@ -e "SELECT CONCAT(
'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
) AS query FROM mysql.user" | \
mysql -u'root' -p${pwd} $@ | \
sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/-- \1 /;/--/{x;p;x;}'
}
expgrants > ./grants.sql
备份指定用户:
mysql -B -N -uroot -ppasswd -e "SHOW GRANTS FOR 'user'@'localhost';"
全局替换字符:
UPDATE db.table SET id = replace(id, 'old','new');
其它:
show engines;
#查看支持引擎
show variables like '%storage_engine%';
#查看当前引擎
update user set host ='%' where user = 'root';
#允许远程连接