本文档会在/usr/local/ahsl/mysql3307目录下安装mysql5.7.20,端口号为3307。
1. 操作系统准备
操作系统版本CentOS6.5以上,如果内存超过4GB则安装 64位系统,否则安装32位系统。MySQL性能的关键瓶颈是磁盘性能,务必使用高速磁盘,如SSD或SAS组成的RAID。
1) 确认关闭SELINUX
[root@localhost ~]# cat /etc/selinux/config
SELINUX=disabled
2) 优化Linux内核参数
vi /etc/security/limits.conf
* soft nofile 655350
* hard nofile 655350
* soft nproc 655350
* hard nproc 655350
wq保存文件后,断开连接或重启系统,使用ulimit –a查看确认
2. 创建ahsl目录
mkdir /usr/local/ahsl
cd /usr/local/ahsl
3. 安装编译依赖包gcc/c++/ ncurses /perl
yum install -y gcc gcc-c++ ncurses-devel perl
4. 安装编译工具cmake
wget --no-check-certificate https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz
tar -xzvf /usr/local/ahsl/cmake-3.4.1.tar.gz
cd /usr/local/ahsl/cmake-3.4.1
./bootstrap
make && make install
5. 在centos中添加mysql用户
groupadd mysql
useradd -r -g mysql mysql
6. 下载MySQL源码
wget --no-check-certificate https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
7. 解压
tar -zxvf mysql-5.7.20.tar.gz
8. 创建mysql数据目录
mkdir -p /usr/local/ahsl/mysql3307/data
chown mysql:mysql /usr/local/ahsl/mysql3307/data
9. 编译
cd /usr/local/ahsl/mysql-5.7.20
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar xzf boost_1_59_0.tar.gz
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/ahsl/mysql3307 \
-DMYSQL_UNIX_ADDR=/usr/local/ahsl/mysql3307/mysql.sock \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/ahsl/mysql3307/data \
-DMYSQL_TCP_PORT=3307 \
-DWITH_BOOST=boost_1_59_0
make && make install
10. 设置mysql安装目录权限
chown -R mysql:mysql /usr/local/ahsl/mysql3307
11. 配置mysql连接数及配置参数优化
对于mysql5.7而言通常必须配置最大连接数,其它参数默认即可。
vi /usr/local/ahsl/mysql3307/my.cnf
[mysqld]
max_connections = 4096
对于高性能数据库服务器可以根据服务器的硬件性能进行优化,具体参数相关文章:
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html
实际上mysql5.7已经可以通过SET GLOBAL var=value的方式动态调优,但重启后会失效。
在mysql8.0中可以使用SET PERSIST var=val的方式动态修改并保存参数。
12. 初始化数据库
/usr/local/ahsl/mysql3307/bin/mysqld --initialize --user=mysql
记录随机生成的默认密码quw&sioK)48f。
13. 启动mysql服务
/usr/local/ahsl/mysql3307/bin/mysqld_safe &
提示:停止mysql服务 /usr/local/ahsl/mysql3307/support-files/mysql.server stop
14. 登陆mysql,修改root密码默认密码,创建ahsl用户
/usr/local/ahsl/mysql3307/bin/mysql -uroot -p'初始化时产生的随机密码'
set password=password('y4yhl9t');
grant all privileges on *.* to 'ahsl'@'%' identified by 'y4yhl9t';
flush privileges;
15. 随系统自动启动
vi /etc/rc.d/rc.local
在JDK前方或tomcat前方增加mysql启动。
/usr/local/ahsl/mysql3307/bin/mysqld_safe &
重启后使用netstat –anpt检查3307端口是否监听,使用sqlyog连接
16. 其它
如果同一操作系统下有多个mysql实例,请一定要移除/etc/my.cnf因为这是针对mysql参数的全局配置文件,推荐的办法是在各个实例的安装目录下放置此文件。
17. 参考资料
https://www.insp.top/article/make-install-mysql-5-7
CentOS源码安装MySQL5.7
猜你喜欢
转载自lixor.iteye.com/blog/2407782
今日推荐
周排行