上一篇blog降了很方便的傻瓜式安装方法,虽然方便,但灵活性和后续的维护并不是太友好,所以这篇讲解MySQL比较传统的安装方式,稍微复杂,但可配置性特别好,作为各种框架搭建基层,个人推荐这种稍微繁琐的部署方式。
准备:【CentOS 7】 【MySQL-5.7.15-linux-glibc2.5-x86_64】
获取MySQL安装包:
~$ wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-linux-glibc2.5-x86_64.tar
创建目录:
data目录 /data/mysql/data
~$ sudo mkdir -p /data/mysql/data
[sudo] password for chiufung: [su PASSWORD]
~$
log目录 /data/mysql/log
~$ sudo mkdir -p /data/mysql/log
[sudo] password for chiufung: [su PASSWORD]
~$
socket目录 /data/mysql/socket
~$ sudo mkdir -p /data/mysql/socket
[sudo] password for chiufung: [su PASSWORD]
~$
tmp目录 /data/mysql/tmp
~$ sudo mkdir -p /data/mysql/tmp
[sudo] password for chiufung: [su PASSWORD]
~$
新建mysql用户/用户组:
~$ sudo addgroup mysql
~$ sudo useradd -g mysql mysql
解压二进制包到安装目录:
~$ cd /usr/local/
~$ tar -xzvf /home/chiufung/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
~$ mv ./mysql-5.7.13-linux-glibc2.5-x86_64 mysql
修改目录所有者:
~$ cd /usr/local/mysql
~$ chgrp -R mysql .
~$ chown -R mysql .
初始化mysql服务:
~$ bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
##此处需要注意记录生成的临时密码##
~$ #bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data
注册mysql服务:
~$ cp my-default.cnf /etc/my.cnf
~$ cp mysql.server /etc/init.d/mysql
~$ vim /etc/init.d/mysql
配置文件如下:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
port = 3306
socket = /home/mysql/socket/mysql.socket
#user = root
#password = 000000
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
#defaults-file = /etc/my.cnf
basedir = /usr/local/mysql
datadir = /home/mysql/data
tmpdir = /home/mysql/tmpdir
port = 3306
server_id = 1
socket = /home/mysql/socket/mysql.socket
pid-file = /home/mysql/socket/mysql.pid
bind-address=0.0.0.0
log-error = /home/mysql/log/error.log
log-bin = /home/mysql/log/bin-log
log-bin-index = /home/mysql/log/bin-log.index
#log-slave-updates = 1
binlog-do-db = test
#replicate-do-db = test
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
启动mysql:
~$ bin/mysqld_safe --user=mysql &
~$ bin/mysql --user=root –p -S/home/mysql/socket/mysql.socket
!输入上面步骤记下的初始密码!
mysql> set password=password('your password');
mysql>grant all privileges on *.* to root@'%' identified by 'your password';
mysql> flush privileges;
添加系统路径:
~$ vim /etc/profile
添加:
export PATH=/usr/local/mysql/bin:$PATH
~$ source /etc/profile
设置开机自启动:
~$ chmod 755 /etc/init.d/mysql
~$ chkconfig --add mysql
~$ chkconfig --level 345 mysql on