Blame view

src/services/mysqld.lua 1.02 KB
0de80321   liuzujun   创建游戏数据库,role对应mys...
1
2
3
4
5
6
7
8
9
10
11
12
13
  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({
9b69ca55   liuzujun   mysql 配置添加
14
15
  		host=conf.host,
  		port=conf.port,
0de80321   liuzujun   创建游戏数据库,role对应mys...
16
  		database="mysql",
9b69ca55   liuzujun   mysql 配置添加
17
18
  		user=conf.user,
  		password=conf.pwd,
a12bfcce   liuzujun   添加英雄表
19
  		max_packet_size = 5 * 1024 * 1024,
0de80321   liuzujun   创建游戏数据库,role对应mys...
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  		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(...)))
6136eaca   liuzujun   添加好友表
34
35
  		elseif string.lower(cmd) == "quote_sql_str" then
  			skynet.ret(skynet.pack(db[string.lower(cmd)](...)))
0de80321   liuzujun   创建游戏数据库,role对应mys...
36
37
38
39
40
41
42
43
44
  		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)