文档章节

实现Web应用的高并发、负载均衡配置(2) - MySQL环境配置

三平行者
 三平行者
发布于 2016/04/22 16:29
字数 1138
阅读 129
收藏 12

一、查看CentOS是否安装MySQL

# rpm -qa | grep mysql       //查看该操作系统上是否已经安装了mysql数据库
# rpm -e mysql              // 普通删除模式
# rpm -e --nodeps mysql     // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

二、下载MySQL源码包

http://dev.mysql.com/downloads/mysql/5.6.html#downloads

或者直接用命令行安装

[root@localhost ~]# yum install -y mysql-server mysql mysql-deve

三、安装和编译mysql安装包

(1)安装编译代码所需要的包

[root@localhost mysql-5.6.26]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio
[root@localhost mysql-5.6.26]# yum install libaio libaio-devel -y
[root@localhost mysql-5.6.26]# yum install perl-Data-Dumper -y
[root@localhost mysql-5.6.26]# yum install net-tools -y

(2)解压安装包并编译安装

[root@localhost src]# tar xvf mysql-5.6.26.tar.gz
[root@localhost src]# cd mysql-5.6.26
[root@localhost mysql-5.6.26]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

编译成功

[root@localhost mysql-5.6.26]# make && make install

至此,mysql安装完成

检查系统是否已经有mysql用户,如果没有则创建

[root@localhost mysql-5.6.26]# cat /etc/passwd | grep mysql
[root@localhost mysql-5.6.26]# cat /etc/group | grep mysql

创建mysql用户(但是不能使用mysql账号登陆系统)

[root@localhost mysql-5.6.26]# groupadd mysql
[root@localhost mysql-5.6.26]# useradd -g mysql mysql

修改权限

[root@localhost mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql

(3)初始化配置脚本
进入安装路径

[root@localhost mysql-5.6.25]# cd /usr/local/mysql

执行初始化配置脚本,创建系统自带的数据库和表

[root@localhost mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir /my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 7版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

(4)设置开机启动

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chkconfig mysql on

(5)启动MySQL服务

[root@localhost ~]# service mysql start

注:如果启动时报错 “Starting MySQL.... ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).”则重新编译


(6)设置root密码,登录mysql

[root@localhost ~]#  mysql -uroot 
mysql> set password for root@localhost=password('root');  
mysql> exit;


四、配置MySQL

(1)创建mysql新用户test_user

mysql> create user 'test_user'@'%' identified by 'test_user';

(2)给新用户test_user授权,让他可以从外部登录和本地登录
   注意:@左边是用户名,右边是域名、IP和%,表示可以访问mysql的域名和IP,%表示外部任何地址都能访问。

mysql> grant all privileges on *.* to 'test_user'@'localhost' identified by 'test_user';  
mysql> grant all privileges on *.* to 'test_user'@'%' identified by 'test_user';  
mysql> select user,host,password from mysql.user;  
mysql> flush privileges;


(3)查看mysql的默认存储引擎
   从下面的执行结果可以看出,mysql的默认引擎是MyISAM,这个引擎是不支持事务的。

mysql> show engines;

   也可以以下面的方式查看

mysql> show variables like 'storage_engine';


(4)修改mysql的默认引擎为InnoDB
    停止mysql   

mysql> exit;  
[root@localhost ~]# service mysqld stop

 
(5)修改 /etc/my.cnf
 [mysqld] 后加入  default-storage-engine=InnoDB 
  加入后my.cnf的内容为:

 [root@localhost etc]# more my.cnf

    [mysqld]  
    datadir=/var/lib/mysql  
    socket=/var/lib/mysql/mysql.sock  
    user=mysql  
    # Disabling symbolic-links is recommended to prevent assorted security risks  
    symbolic-links=0 
    default-storage-engine=InnoDB  


    [mysqld_safe]  
    log-error=/var/log/mysqld.log  
    pid-file=/var/run/mysqld/mysqld.pid  

(6) 重新启动mysql

[root@localhost etc]# service mysqld start  
 Starting mysqld:  [  OK  ]


(7)修改防火墙,开放操作系统MySQL端口3306
CentOS6.5默认是不开放端口的,如果要让外部的系统访问CentOS6.5上的mysql,必须开放mysql的端口3306

[root@localhost etc]# vi /etc/sysconfig/iptables

添加下面一行

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 

重启防火墙

 [root@localhost etc]# service iptables restart


这样就可以从外部访问mysql了。
至此,MySQL在CentOS上的安装全部完成。



实现Web应用的高并发、负载均衡配置(1) - JDK环境配置

实现Web应用的高并发、负载均衡配置(2) - MySQL环境配置


© 著作权归作者所有

共有 人打赏支持
三平行者
粉丝 3
博文 32
码字总数 14655
作品 0
海淀
项目经理
私信 提问
细谈普通网站的后台构建实战----my note

比如你建一个普通网站,流量不高。如何设计 普通PC环境,大约同时支持2000到3000的并发量,当然,我不排除有高手进行后台服务器优化,实现更高的并发量。 一些大型的网站会采取“分流”的方式...

crossmix
2016/03/22
76
1
大型Web系统架构

动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓...

ugali
2017/09/04
0
0
大型系统的发布部署方案

动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓...

罗文浩
2015/09/12
13.3K
0
Linux之FineBI集群部署

在企业应用中,通常单个计算机的配置是有限的,而企业应用又是高并发的需求,这个时候会通过计算机集群的方式来提高并发数,从而提高整体应用服务的性能。集群是将多台计算机作为一个整体来提...

雄霸天下啦
2017/03/20
0
0
实现Web应用的高并发、负载均衡配置(1) - JDK环境配置

第一步:查看Linux自带的JDK是否已安装 (卸载CentOS已安装的jdk版本,重新安装sun公司的jdk。此步不是必须的,只是建议,方便后面jdk升级) (1)先查看 # rpm -qa | grep java 显示如下信息...

三平行者
2016/04/22
74
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx 找不到pid文件原因及解决办法

2.var/run/nginx.pid文件 首先 var/run这个目录是干嘛用的? 此文件夹包含描述系统启动以来系统信息的数据。此文件夹下的文件必须在启动过程初期清除(删除或归零)。程序可以在/var/run下有...

李佳顺
32分钟前
0
0
【scala】2.控制结构和函数

简介 在Java或者C++中,我们把表达式和语句看做两种不同的东西。表达式有值,而语句执行动作。 在Scala中,几乎所有构造出来的语法结构都是有值的。这个特性使得程序更加的精简,也更易读。 ...

Areya
36分钟前
0
0
Java中的并发工具类(CountDownLatch、CyclicBarrie、Exchanger)

在JDK的并发包里提供了很多有意思的并发工具类。CountDownLatch、CyclicBarrier和Semaphore 工具类提供了一种并发流程控制的手段,Exchanger 工具类则提供了在线程间交换数据的一种手段。 1....

孟飞阳
40分钟前
0
0
Docker之推送镜像到Harbor

安装Harbor之类的在这里就不讲了,请看我的这篇博客 1、在Harbor上创建用户 如下图1.1所示,"Users"->"NEW USER",之后会弹出一个输入框,输入用户名、密码之类的,这个后面会用到 图1.1 2...

克虏伯
今天
0
0
JVM-----java内存区域与java内存模型

一.java内存区域 jvm在执行java程序的过程中会把所管理的内存分为若干不同的区域,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁的。 以下是java运...

Carol998
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部