一、EditPlus的lua语法文件lua.stx下载
在windows下进行lua开发不想用复杂的IDE,这时我习惯使用 EditPlus,这是一个非常小巧但功能很强大的可处理文本、HTML和程序语言的Windows编辑器,并且可以很方便的扩展,在开发lua时,我一直喜欢使用EditPlus,我就使用的 Editplus。
在windows下进行 lua 开发需要下载LuaForWindows进行安装,地址:http://luaforge.net/projects/luaforwindows
Editplus 进行LUA 开发时需要编辑器支持lua语法,需要添加个lua语言支持文件lua.stx。此资源见本文最上方绑定的资源文件。下载之后进行如下操作将语法文件导入。
使用起来也很简单,在editplus中工具->首选项->文件类型和语法 里进行编辑,增加lua语言,并点击“语法文件”右边的按钮将lua语法文件复制进去、然后选择语法文件以将其与Lua关联。即可使用editplus 开发lua程序了。如下图:
二、 MYSQL里的一些常用命令整理备用
最近搭建MYSQL主丛环境,留下一些常用的命令放这里存个底,以备后续要用 publish:April 17, 2018 -Tuesday:
1、关于密码
#安装完后添加MYSQL密码:
mysqladmin -uroot -password 123456
#修改root密码:
mysqladmin -u用户名 -p旧密 password 新密
mysqladmin -uroot -p123456 password 111111
#root执行进mysql数据库修改user表设置密码
mysql> update user set password=password('123123') where user='root';
mysql> flush privileges
2,简单权限:
#全权限
grant all privileges on *.* to 'kermit'@'%' identified by '123456' with grant option;
#增删改查权限,分别给读账号和写账号不同的权限
grant insert,select,update,delete on by.taobao to test@'%' identified by '123456';
#主从同步的账号权限
grant replication slave on *.* to 'slave_mysql'@'%' identified by 'test123456';
#收回所有权限
revoke all on *.* from 'monitor'@'192.168.162.154';
#查看用户拥有权限列表
show grants for 'monitor'@'192.168.162.154';
#刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
3,修改表结构等
alter table test_tab add(name char(10));
alter table test_tab modify name char(20) not null;
alter table test_tab alter name set default '';
alter table test_tab alter name drop default;
alter table test_tab drop column test;
alter table test_tab drop primary key;
alter table test_tab add primary key pkey (id,reid);
#清空mysql表
delete from 表名;
truncate table 表名;
4,导入导出数据库、表结构:
#导出数据库并带上数据
mysqldump -u用户名 -p密码 数据库名 > sql文件路径
mysqldump -uroot -p abc > abc.sql
#只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > sql文件路径
mysqldump -uroot -p -d abc > abc.sql
#使用source导入数据库
mysql>create database test;
mysql>use test;
mysql>set names utf8;
mysql>source /home/abc/abc.sql; #sql文件的路径
#mysql命令行直接导入数据库
mysql -u用户名 -p密码 数据库名 < sql文件路径
mysql -uabc_f -p abc < abc.sql
5,主从同步:
#在从库上关闭从库状态
stop slave;
#设置从库
change master to master_host='192.168.162.16',master_user='slave_sql',master_password='6543',master_log_file='mysql-bin.01',master_log_pos=53376;
#启动slave并查看状态
start slave
show slave status G;
6,mysql线程
#查看MYSQL中各服务器IP占用的线程个数
select server,count(server) as servernum from (select substring_index(host,':' ,1) as server from information_schema.processlist ) as rsa group by server order by servernum desc;
#查看MYSQL中所有线程个数
select count(*) from information_schema.processlist;
7,关于表设计中尽量使用not null和enum
尽量将列定义为not null,这样可使数据的出来更快,所需的空间更少,而且在查询时,MySQL不需要检查是否存在特例,即null值,从而优化查询;需要注意mysql5.6起默认是严格模式,所以设置为not null的字段必须要有默认值,不然如果SQL里没有写这个字段的插入值,就会报错。如果一列只含有有限数目的特定值,如性别,是否有效或者入学年份等,在这种情况下应该考虑将其转换为enum列的值,MySQL处理的更快,因为所有的enum值在系统内都是以标识数值来表示的;
三、Mysql的innodb引擎的重要配置项innodb_buffer_pool_size
早前我就有一篇关于Myisam引擎已成历史的文章:关于Mysql存储引擎InnoDB和MyISAM、主从同步日志设置以及Python Mysql的报错:BrokenPipeError_mysql broken pipe-CSDN博客(你不用再考虑是用InnoDB还是MyISAM存储引擎了),在MySQL5.5之前MYSQL默认使用的存储引擎是MyISAM。MyISAM也得到了广泛使用,但从MySQL 5.5开始,InnoDB存储引擎已经完胜MyISAM了,已经看不到任何其他应用使用MyISAM的必要性。
MyISAM与innodb引擎除了索引锁等熟知的区别外,还有一项重要的区别是MyISAM使用操作系统缓存来缓存数据,而InnoDB是在配置的innodb buffer pool中处理缓存,良好的innodb性能非常需要足够的InnoDB buffer pool空间,而这就是我们这里要说的innodb_buffer_pool_size及相关配置项,鉴于现在innodb已经成为mysql的默认引擎,所以innodb_buffer_pool_size是整个MySQL服务器极重要的配置项。
MySQL InnoDB buffer pool 里包含数据缓存、索引缓存、缓冲数据、内部结构如自适应哈希索引,行锁等。innodb_buffer_pool_size默认大小是128M,业务稍微大点的话,这个值是远远不够的。一些视频类的网站通常设置为2G以上。
这个值配置多大合适?可以通过show status like 'innodb_buffer_pool_read%';查看Innodb_buffer_pool_read_requests和Innodb_buffer_pool_reads的值来比较,innodb_buffer_pool_reads即表示InnoDB缓冲池无法满足的请求数,需要读取数据库从磁盘中获取,如果这个比例很小,比如不到千分之一,则表示当前性能良好。可以通过show engine innodb status\G查看Free buffers 的值,其表示有多少空闲buffer。
有篇详细的文章可供进一步深入参考:https://www.cnblogs.com/wanbin/p/9530833.html