前言
提示:在linux 下操作MySQL的常用命令
一、开启、关闭和登录
开启服务
service mysql start
关闭服务
service mysql stop
重启服务
service mysql restart
登录
mysql -u username -p password
二、修改密码
1.需要登录的修改方式
set password命令
set password for username@localhost= password(‘newpassword’);
sql语句更新mysql库中user表
mysql> use mysql;
mysql> updata user set password=password("123") where user='root' and host='localhost';
mysql> flush privileges;
2.不需要登录的修改方式
mysqladmin命令
mysqladmin -u username -p oldpassword password newpassword
mysqladmin -uusername -poldpassword password+回车,然后输入两次新密码
3. 常用操作
显示数据库列表
show databases
创建,删除数据库
create database 数据库名;
drop database 数据库名;
显示库中的数据表
use mysql;
show tables;
显示数据表结构
describe 数据库名;
显示当前MySQL版本和当前日期
select version(), curent_date;
** 显示表 **
show tables;
显示具体的表结构
describe tablename
创建/删除MySQL表的通用sql语法
create table table_name
DROP TABLE table_name;
增加字段
ALTER TABLE tablename ADD filedname filetype;
修改原字段名称及类型
ALTER TABLE tablename CHANGE old_field_name new_field_name field_type;
删除字段
ALTER TABLE table_name DROP field_name;
清空表中记录
delete from table_name;
查询数据
select* from table_name;
4. 导入、导出数据库(不需登录)
4.1 导出所有数据库
语法:mysqldump -u用户名 -p密码 --all-databases >导出路径
举例:mysqldump -uroot -p123456 --all-databases >/tmp/all.sql
4.2.导出指定数据库
语法:mysqldump -u用户名 -p密码 --databases 数据库名>导出路径
举例:mysqldump -uroot -p123456 --databases testdatebase >/tmp/testdatebase.sql
4.3.导出指定数据库的结构(无数据)
语法:mysqldump -u用户名 -p密码 --no-data --databases 数据库名>导出路径
举例:mysqldump -uroot -p123456 --no-data --databases testdatebase >/tmp/testdatebase_no_data.sql
4.4.导出指定数据库中的指定表
语法:mysqldump -u用户名 -p密码 --databases 数据库名 --tables 数据表名>导出路径
举例:mysqldump -uroot -p123456 --databases testdatebase --tables t_user >/tmp/testdatebase_user.sql
4.5.导出指定数据库中的指定表的结构(无数据)
语法:mysqldump -u用户名 -p密码 --no-data --databases 数据库名 --tables 数据表名>导出路径
举例:mysqldump -uroot -p123456 --no-data --databases testdatebase --tables t_user >/tmp/testdatebase_user_no_data.sql
4.6.导出指定数据库中的指定表,设置查询条件
语法:mysqldump -u用户名 -p密码 --databases 数据库名 --tables 数据表名 --where=‘条件’>导出路径
举例:mysqldump -uroot -p123456 --databases testdatebase --tables t_user --where=‘user_no=1’>/tmp/mysql_user_no.sql
4.7.跨服务器备份数据库
将 host1 服务器中的 db1 数据库的所有数据导入到 host2 中的db2数据库中,db2的数据库必须存在否则会报错
(经测试,在mysql5.5版本中,db2存在即可,实际生成数据库名称与db1一致;加上-C参数可以启用压缩传递)
语法:mysqldump --host=host1 -u用户名 -p密码 --databases db1 |mysql --host=host2 -u用户名 -p密码 --databases db2
举例:mysqldump --host=192.168.1.101 -uroot -p123456 -C --databases testdatebase |mysql --host=192.168.3.102 -uroot -p123456 --database testdatebase
4.8.通过 sql 文件导入数据库
语法:mysql -u用户名 -p密码 < 导入路径
举例:mysql -uroot -p123456 < /tmp/testdatebase.sql