MySQL 命令行初级教程 – 为 proftpd 添加用户

October 13th, 2009 | Tags:

称之为“教程”其实很惭愧,我其实才第二次使用 MySQL 命令。第一次使用的时候是十几天前,很多命令都已经忘了。这一次不能在“重蹈覆辙”,必须记下来。

假设环境如下,MySQL 服务器安装在本地,我们有一个适当权限的用户,账号为 proftpd ,密码为 123456。该用户对 proftpd 库有完全控制权限,我们的任务是,在 proftpd 库的某一个表里添加一条数据。换句话说,其实就是给 proftpd 服务器加一个管理员账号。

步骤如下:

[root@localhost ~]# mysql -h localhost -u proftpd -p #连接 MySQL
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 29342 to server version: 5.0.18

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> SHOW DATABASES; #列出所有数据库的名字
+——————–+
| Database |
+——————–+
| information_schema |
| proftpd |
| test |
+——————–+
3 rows in set (0.00 sec)

mysql> USE proftpd; #选择 proftpd 数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SHOW TABLES; #列出 proftpd 数据库中的所有表
+——————-+
| Tables_in_proftpd |
+——————-+
| ftpadmin |
| ftpgroups |
| ftphomework |
| ftpusers |
+——————-+
4 rows in set (0.00 sec)

mysql> DESCRIBE ftpadmin; #显示 ftpadmin 表的结构
+———–+———+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+———–+———+——+—–+———+——-+
| userid | text | NO | | | |
| passwd | text | NO | | | |
| uid | int(11) | NO | | | |
| gid | int(11) | NO | | | |
| home | text | YES | | NULL | |
| shell | text | YES | | NULL | |
| count | int(11) | YES | | NULL | |
| host | text | YES | | NULL | |
| lastlogin | text | YES | | NULL | |
+———–+———+——+—–+———+——-+
9 rows in set (0.04 sec)

mysql> SELECT * FROM ftpadmin; #显示 ftpadmin 表的内容
+———–+————+—–+——+—————+————-+——-+—————–+———————+
| userid | passwd | uid | gid | home | shell | count | host | lastlogin |
+———–+————+—–+——+—————+————-+——-+—————–+———————+
| w******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 527 | x.x.x.50 | 2009-10-13 16:55:56 |
| l******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 103 | x.x.x.197 | 2007-10-13 23:45:50 |
| z******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 28 | x.x.x.102 | 2007-11-24 08:00:28 |
| s******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 28 | x.x.x.70 | 2008-12-04 08:25:18 |
| i******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 18 | x.x.x.44 | 2008-09-22 09:48:56 |
| m******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 586 | x.x.x.10 | 2009-10-12 11:32:34 |
| h******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 5 | x.x.x.146 | 2007-09-02 19:46:51 |
| d******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 135 | x.x.x.239 | 2008-01-13 22:46:25 |
| c******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 47 | x.x.x.52 | 2008-09-16 21:20:24 |
| l******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 28 | x.x.x.12 | 2008-01-02 10:10:43 |
+———–+————+—–+——+—————+————-+——-+—————–+———————+
10 rows in set (0.00 sec)

mysql> INSERT INTO ftpadmin VALUES (‘j*’,'******’,’666′,’1000′,’/home/proftpd’,'/sbin/false’,0,NULL,NULL); #添加一条数据,实际上是添加用户。注意不要把 0 和 NULL 混用。
Query OK, 1 row affected (0.06 sec)

mysql> SELECT * FROM ftpadmin; #检查所添加的数据
+———–+————+—–+——+—————+————-+——-+—————–+———————+
| userid | passwd | uid | gid | home | shell | count | host | lastlogin |
+———–+————+—–+——+—————+————-+——-+—————–+———————+
| w******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 527 | x.x.x.50 | 2009-10-13 16:55:56 |
| l******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 103 | x.x.x.197 | 2007-10-13 23:45:50 |
| z******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 28 | x.x.x.102 | 2007-11-24 08:00:28 |
| s******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 28 | x.x.x.70 | 2008-12-04 08:25:18 |
| i******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 18 | x.x.x.44 | 2008-09-22 09:48:56 |
| m******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 586 | x.x.x.10 | 2009-10-12 11:32:34 |
| j******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 0 | NULL | NULL |
| h******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 5 | x.x.x.146 | 2007-09-02 19:46:51 |
| d******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 135 | x.x.x.239 | 2008-01-13 22:46:25 |
| c******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 47 | x.x.x.52 | 2008-09-16 21:20:24 |
| l******** | ****** | 666 | 1000 | /home/proftpd | /sbin/false | 28 | x.x.x.12 | 2008-01-02 10:10:43 |
+———–+————+—–+——+—————+————-+——-+—————–+———————+
11 rows in set (0.00 sec)

mysql> exit
Bye

No comments yet.