Blame view

src/services/mysqld.lua 930 Bytes
0de80321   liuzujun   创建游戏数据库,role对应mys...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  local skynet = require "skynet"
  require "skynet.manager"
  local mysql = require "skynet.db.mysql"
  
  local db
  local idx = ...
  local command = {}
  
  function command.open(conf)
  	local function on_connect(db)
          db:query("set charset utf8mb4");
  	end
  	db=mysql.connect({
  		host="127.0.0.1",
  		port=3306,
  		database="mysql",
  		user="root",
  		password="123456",
  		max_packet_size = 1024 * 1024,
  		on_connect = on_connect
  	})
  	if not db then
  		print("failed to connect")
  	end
  	local servId = skynet.getenv("servId")
  	db:query(string.format("use server_%s", servId))
  end
  
  skynet.start(function()
  	skynet.dispatch("lua", function(session, address, cmd, ...)
  		if cmd == "open" then
  			local f = command[string.lower(cmd)]
  			skynet.ret(skynet.pack(f(...)))
  		else
  			skynet.ret(skynet.pack(db[string.lower(cmd)](db, ...)))
  		end
  	end)
  	skynet.info_func(function()
  		return skynet.stat("mqlen")
  	end)
  	skynet.register(".mysql" .. idx)
  end)