1. 程式人生 > >將linux系統用戶導入mysql表

將linux系統用戶導入mysql表

charset all unix set mysql var nsh user not

下面這個程序實現的一個很簡單的功能,讀取passwd文件,將裏面的用戶信息寫入到mysql裏面,

具體代碼如下:

 1 #!/usr/bin/python
 2 
 3 import pymysql
 4 import time
 5 
 6 
 7 ‘‘‘
 8 
 9 CREATE TABLE `os_user` (
10   `user` varchar(20) NOT NULL,
11   `haspass` char(5) NOT NULL,
12   `uid` int(10) NOT NULL,
13   `gid` int(10) NOT NULL,
14   `descuser` varchar(100) NOT NULL,
15 `homedir` varchar(100) NOT NULL, 16 `loginshell` varchar(100) NOT NULL, 17 PRIMARY KEY (`uid`), 18 UNIQUE KEY `unique_var` (`user`,`uid`) 19 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 20 21 22 ‘‘‘ 23 24 try: 25 conn = pymysql.connect(host=127.0.0.1,unix_socket=/tmp/mysql.sock,26 user=
root,passwd=123456,db=pydb) 27 cur = conn.cursor() 28 f = open(passwd) 29 30 try: 31 for i in f.readlines(): 32 Tmplist = list(i.strip(\n).split(:)) 33 sql = INSERT INTO os_user 34 (user,haspass,uid,gid,descuser,homedir,loginshell) values
35 (\‘%s\‘,\‘%s\‘,%s,%s,\‘%s\‘,\‘%s\‘,\‘%s\‘) % 36 (Tmplist[0],Tmplist[1],Tmplist[2],Tmplist[3],Tmplist[4],Tmplist[5],Tmplist[6]) 37 cur.execute(sql) 38 time.sleep(1) 39 conn.commit() 40 print Create user %s Successful.. % Tmplist[0] 41 except pymysql.err.IntegrityError as e: 42 print User %s exits. % Tmplist[0] 43 print Please check, Exit... 44 except Exception as e: 45 print Error : %s % e 46 47 except Exception as e: 48 print Error : %s % e 49 50 51 finally: 52 cur.close() 53 conn.close() 54 f.close()

將linux系統用戶導入mysql表