Linux 操作MySQL常用命令行

1 篇文章 0 订阅

注意:MySQL中每个命令后都要以分号;结尾。

  1、显示数据库
  mysql> show databases;
  +----------+
  | Database |
  +----------+
  | mysql  |
  | test   |
  +----------+
  2 rows in set (0.04 sec)
  Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。

  2、显示数据库中的表
  mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )
  Database changed

  mysql> show tables;
  +-----------------+
  | Tables_in_mysql |
  +-----------------+
  | columns_priv  |
  | db       |
  | func      |
  | host      |
  | tables_priv   |
  | user      |
  +-----------------+
  6 rows in set (0.01 sec)

  3、显示数据表的结构: 
  describe 表名;

  4、显示表中的记录: 
  select * from 表名;
  例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
  Select * from user;

  5、建库: 
  create database 库名; 
  例如:创建一个名字位aaa的库
  mysql> create databases aaa;

6、建表: 
  use 库名; 
  create table 表名 (字段设定列表);
  例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
  use aaa;
  mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
  可以用describe命令察看刚建立的表结构。
  mysql> describe name;

 

  +-------+---------+------+-----+---------+----------------+
  | Field | Type  | Null | Key | Default | Extra     |
  +-------+---------+------+-----+---------+----------------+
  | id  | int(3) |   | PRI | NULL  | auto_increment |
  | xm  | char(8) | YES |   | NULL  |        |
  | xb  | char(2) | YES |   | NULL  |        |
  | csny | date  | YES |   | NULL  |        |
  +-------+---------+------+-----+---------+----------------+

  7、增加记录
  例如:增加几条相关纪录。
  mysql> insert into name values('','张三','男','1971-10-01');
  mysql> insert into name values('','白云','女','1972-05-20');
  可用select命令来验证结果。
  mysql> select * from name;
  +----+------+------+------------+
  | id | xm  | xb  | csny    |
  +----+------+------+------------+
  | 1 | 张三 | 男  | 1971-10-01 |
  | 2 | 白云 | 女  | 1972-05-20 |
  +----+------+------+------------+

  8、修改纪录
  例如:将张三的出生年月改为1971-01-10
  mysql> update name set csny='1971-01-10' where xm='张三';

  9、删除纪录
  例如:删除张三的纪录。
  mysql> delete from name where xm='张三';

  10、删库和删表 
  drop database 库名; 
  drop table 表名;

增加MySQL用户

  格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令

  mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123"; 
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。

  例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作aaa库。

  mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";

  用新增的用户如果登录不了MySQL,在登录时用如下命令

  mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)

备份与恢复

  1、备份

  例如:将上例创建的aaa库备份到文件back_aaa中

  [root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)
  [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

  2、恢复

  [root@test mysql]# mysql -u root -p ccc < back_aaa



http://www.cnblogs.com/summergarden/archive/2013/03/07/2948372.html




CentOS(Linux)中解决MySQL乱码




环境:CentOS 6.3、mysql5.1
 
Centos 6.3在上安装mysql client和server之后,出现乱码,不得不修改编码。
 
注意:
 
关于utf8和gbk的区别详细见:linux中文乱码问题解决办法 http://www.linuxidc.com/Linux/2010-04/25757.htm ,下面的配置中根据自己要求选择两种编码。
 
解决步骤:
 
1. 找到mysql的配置文件,拷贝到/etc目录下,第一步很重要
 
使用find命令查找cnf文件。记得不要去找my.cnf因为它不一定存在,而应该找*.cnf。
 


[root@Web_Mysql ~]# find / -iname "*.cnf" -print
 
/usr/share/mysql/my-huge.cnf
 
/usr/share/mysql/my-small.cnf
 
/usr/share/mysql/my-innodb-heavy-4G.cnf
 
/usr/share/mysql/my-medium.cnf
 
/usr/share/mysql/my-large.cnf
 
/usr/share/doc/mysql-server-5.1.61/my-huge.cnf
 
/usr/share/doc/mysql-server-5.1.61/my-small.cnf
 
/usr/share/doc/mysql-server-5.1.61/my-innodb-heavy-4G.cnf
 
/usr/share/doc/mysql-server-5.1.61/my-medium.cnf
 
/usr/share/doc/mysql-server-5.1.61/my-large.cnf
 
/etc/pki/tls/openssl.cnf
 
/etc/my.cnf
 
 
 
找到之后,复制一个出来
 


[root@Web_Mysql ~]# cp /usr/share/doc/mysql-server-5.1.61/my-medium.cnf /etc/my.cnf


cp:是否覆盖"/etc/my.cnf"? y
 
 
 
2. 打开/etc/my.cnf修改配置文件:
 


[root@Web_Mysql ~]# vim /etc/my.cnf


 
 
在[client]下添加
 
default-character-set=utf8
 
 
 
在[mysqld]下添加
 
default-character-set=utf8
 
 
 
:wq    #保存
 
 
 
3. 重启mysql
 
 
 
根据你安装mysql的方式的不同,采用不用的命令来重启你的mysql。如果你配置过使用mysqld自启动方式,可以执行
 


[root@Web_Mysql ~]# /etc/rc.d/init.d/mysqld restart
 
停止 mysqld:                                              [确定]
 
正在启动 mysqld:                                          [确定]
 
 
 
mysql配置成系统服务的方式,执行
 


 [root@Web_Mysql ~]#service mysqld restart
 
停止 mysqld:                                              [确定]
 
正在启动 mysqld:                                          [确定]
 
 
 
4.登录mysql看看修改成功否
 


[root@Web_Mysql ~]# mysql -u root -p
 
Enter password: (输入密码)
 
 
 


mysql> show variables like 'character%';
 
+-----------------------------------------+------------------------------------------+
 
| Variable_name            | Value                    |
 
+-----------------------------------------+------------------------------------------+
 
| character_set_client      | utf8                      |
 
| character_set_connection  | utf8                      |
 
| character_set_database    | utf8                      |
 
| character_set_filesystem  | binary                    |
 
| character_set_results      | utf8                      |
 
| character_set_server      | utf8                      |
 
| character_set_system    | utf8                      |
 
| character_sets_dir        | /usr/share/mysql/charsets/    |
 
+---------------------------------------+--------------------------------------------+
 
8 rows in set (0.00 sec)
 
 
 
mysql>


 
 
配置完成!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值