Category - IT技术

linux CentOS yum MariaDB    2017-07-19 23:42:04    914

1、用root用户创建文件“/etc/yum.repos.d/MariaDB.repo”

2、用vi编辑器打开 MariaDB.repo 文件,并填入如下内容

    CentOS6

    CentOS7

注:

1、其中有部分地方需要解释下,这里的baseurl是Mariadb10.0的url,如果需要其他版本,可以到http://yum.mariadb.org/中找到适合自己的系统的版本

2、关于gpgkey与gpgcheck,不需要改变,按照如上的模式即可,

3、使用命令安装MariaDB

sudo yum -y install MariaDB-client MariaDB-server MariaDB-devel  

4、如果没出错,就已经安装完毕了,然后运行如下命令启动服务

sudo service mysql start  
5、修改root密码:
mysqladmin -u root password '111111'  

6、进入mysql命令,然后输入密码

mysql -u root -p  

7、赋予远程访问的权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '111111' WITH GRANT OPTION;  

flush privileges;

执行完如上操作,就已经将MariaDB安装上了,与官方提供的方法有些不同,原因是我们自己使用的时候,没必要安装集群服务,所以有所不同,

至于MariaDB的优化操作,就自己搜索吧,其实基本的优化与MySql差别不大的,后续的版本就不好说了

 

 


 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交

java jetty web容器    2017-07-19 23:32:47    802
1、准备好一个非常简单点的web项目(maven项目)
2、准备好maven环境,并配置pom文件,关于jetty内容如下:
<!-- jetty dependecies begin -->
  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-server</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-webapp</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-continuation</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-jsp</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>
  <!-- jetty dependecies end -->

3、使用eclipse对maven项目进行build,获取build后的项目目录(或者将项目达成war包)

4、创建运行配置jetty的Server类
    运行war包的类
public class WebAppWarServer {
 public static void main(String[] args) throws Exception {
  Server server = new Server(8080);

  WebAppContext context = new WebAppContext();
  contex
jetty servlet java    2017-07-19 23:31:53    1468
错误原因:jetty 的版本和servlet—api版本不同,加载时的顺序不同,先加载servlet-api,而造成的错误。
解决方案:
1、如果是使用的是maven的话,在pom文件中,将jetty的jar包的依赖放在servlet-api的依赖前面
2、如果没有使用maven的话,可以在java build bath->order and export 将jetty的包上移                


完整报错日志:

2014-09-15 01:49:15.572:WARN:oejs.ServletHandler:qtp968838231-22: Error for /myapp/index.jsp
java.lang.NoSuchMethodError: javax.servlet.ServletContext.getJspConfigDescriptor()Ljavax/servlet/descriptor/JspConfigDescriptor;
 at org.apache.jasper.compiler.JspConfig.processWebDotXml(JspConfig.java:106)
 at org.apache.jasper.compiler.JspConfig.init(JspConfig.java:196)
 at org.apache.jasper.compiler.JspConfig.findJspProperty(JspConfig.java:259)
 at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:166)
 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
 at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
 at org.apache.jasper.servlet.JspServlet.serviceJ
MariaDB MySQL    2017-07-19 23:17:24    894
1、开启远程连接功能:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '111111' WITH GRANT OPTION;  
实质上就是创建并赋予权限给'root'@'%'用户

2、关闭远程连接功能,只需删除此用户即可
drop user 'root'@'%';
 
 

 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

MariaDB MySQL 主主同步    2017-07-19 23:15:32    886
摘要:本文仅仅是描述双数据库下的主主同步备份配置,如果需要实现真正的failover以及负载均衡,还需要结合其他配置Keepalived等软件的配置(使用Keepalived,则必须用linux系统,此软件只有linux版本)


准备工作
首先准备两台装有MariaDB或者MySQL的虚拟机,我是两台win2003虚拟机,都装有MariaDB,
两个分别为192.168.100.217 和 192.168.100.218
两台机器基本配置一样,但是有一点,其中一台的my.ini文件中配置server_id = 2 (即两台机器的server_id不能相同)
192.168.100.217的my.ini文件中[mysqld]节点添加参数如下:
log-bin=binlog #开启binlog功能
log-bin-index=binlog.index
sync_binlog=0
server_id = 1 #两台机器不能重复,一个1 一个2 就好

192.168.100.218的my.ini文件中[mysqld]节点添加参数如下:
log-bin=binlog #开启binlog功能
log-bin-index=binlog.index
sync_binlog=0
server_id = 2 #两台机器不能重复,一个1 一个2 就好

一、对两台机器上的MariaDB都执行如下语句来添加作为从服务器的用户,名为testsync,密码为“abc123,”:
GRANT replication slave ON *.* TO'testsync'@'%' identified by 'abc123,';
flush privileges;

二、对218设置同步,主服务器为217

1、在192.168.100.217上执行:
flush tables with read lock;
show master status;
执行完show这一步骤,请记住几个参数,一个是File字段的文件名称,以及Position数值,在后续需要使用
unlock tables;

2、在192.168.100.218上执行如下:

先执行添加mster命令,有几点必须注意的,就是master_log_file的值必须为在217上执行show的时候获取的File的名称,master_log_pos值必须为Position值,否则会出错
change mas
4/26