Ubuntu Mysql 常用指令

mysql 常用指令及中文乱码解决

Mysql 系统管理指令

  • 登陆本地 Mysql

mysql -u username -p # 回车输入密码

或者 mysql -u username -p passswd;

  • 登陆远程 Mysql

mysql -h address -u username -p # 回车输入密码

或者 mysql -h address -u username -p passswd;

  • 修改新密码

mysql> use mysql;

mysql> update user set password=PASSWORD(‘newpasswd’) where user=’username’;

mysql> flush privileges; #更新权限

mysql> quit; #退出

  • 增加新用户

mysql> grant select on database_name.* to user@address identified by ‘passwd

ex: 增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有 查询、插入、修改、删除的权限。

  1. mysql> grant select,insert,update,delete on . to root@localhost identified by 'mysql';
  2. or mysql> grant all privileges on . to root@localhost identified by 'mysql';
  3. mysql> flush privileges;

ex: 不希望 root 有密码操作数据库“mydb”里的数据表,可以再打一个命令将密码消掉

  • mysql> grant select,insert,update,delete on mydb.* to root@localhost identified by '';
  • 删除用户

mysql> delete from user where user='user_name' and host='address';

mysql> flush privileges;

mysql> drop database dbname; #删除用户的数据库

数据库导入导出(mysqldump)

  • 导出所有数据库

mysqldump -u user -p -A > backup_file_path

  • 导出数据和数据结构

mysqldump -u user -p database_name_need_to_backup > backup_file_path

ex00: export database mydb

mysqldump -h localhost -u root -p mydb > ./mydb.sql

ex01: export database mydb mytable

mysqldump -h localhost -u root -p mydb mytable > ./mytable.sql

ex02: export database mydb framework

mysqldump -h localhost -u root -p mydb –add-drop-table > ./mydb_stru.sql

  • 只导出数据不导出数据结构

mysqldump -u user -p -t database_name_need_to_backup > backup_file_path

  • 导出数据库中的Events

mysqldump -u user -p -E database_name_need_to_backup > backup_file_path

  • 导出数据库中的存储过程和函数

mysqldump -u user -p -R database_name_need_to_backup > backup_file_path

  • 从外部文件导入数据库中
  • 使用“source”命令

mysql > source path_of_backup_file

  • 使用“<”符号

mysql -u root –p < path_of_backup_file

Mysql 常用指令

  • 查看所有数据库

mysql> show databases;

  • 选择要操作数据库

mysql> use database_name;

  • 查看当前数据库下所有表

mysql> show tables;

  • 获取表结构

mysql> desc table_name;

或者 mysql> show columns from table_name;

  • 创建一个数据库

mysql> create database database_name;

  • 删除一个数据库

mysql> drop database database_name;

  • 创建一个表

mysql> create table table_name( uid bigint(20) not null, uname varchar(20) not null);

  • 删除一个表

mysql> drop table table_name;

  • SQL插入语句

mysql> insert into table_name(col1, col2) values(value1, value2);

  • SQL更新语句

mysql> update tablename set col1='value1', col2='value2' where wheredefinition;

  • SQL查询语句

mysql> select * from table_name where....... #(最复杂的语句)

  • SQL删除语句

mysql> delete from table_name where...

  • 增加表结构的字段

mysql> alert table table_name add column field1 date, add column field2 time ...

  • 删除表结构的字段

mysql> alert table table_name drop field1;

  • 查看表的结构

mysql> show columns from table_name;

  • limit 的使用

mysql> select * from table_name limit 3; #每页只显示3行

mysql> select * from table_name limit 3,4; #从查询结果的第三个开始,显示四项结果。 此处可很好的用来作分页处理。

  • 对查询结果进行排序

mysql> select * from table_name order by field1, orderby field2; #多重排序

  • 查看字符编码

mysql> show variables like 'character%' ;

Ubuntu mysql中文乱码解决

  • 打开配置文件

sudo vim /etc/mysql/my.cnf

  • 找到[mysqld]添加

character-set-server = utf8

  • 重启mysql

/etc/init.d/mysql restart 或者 service mysql restart


 

 

 

 

 

 

posted @ 2017-03-25 10:23  呆呆的独行者  阅读(901)  评论(0编辑  收藏  举报