您的位置:首页 > 数据库 > MySQL

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

2016-04-22 16:29 921 查看

一、查看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环境配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息