1、准备文件
下载 https://dev.mysql.com/downloads/mysql/
解压 tar -zxvf *mysql.tar.gz
复制 文件到 /usr/local/mysql

2、配置文件目录(所有目录均可自由指定)
安装文件目录: /home/tools/db
mysql安装目录: /usr/local/mysql
数据库文件目录: /usr/local/mysql/data/mysql
日志文件目录: /usr/local/mysql/logs 创建日志文件 error.log
事务日志文件: /usr/local/mysql/redolog
回滚事务日志: /usr/local/mysql/undolog
配置文件目录: /usr/local/mysql/conf
临时文件目录: /usr/local/mysql/tmp

3、创建用户组、用户 文件赋权
创建用户组 groupadd mysql
创建用户(禁止登陆)useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
文件 赋权
chown -R mysql /usr/local/mysql .
chgrp -R mysql /usr/local/mysql .

4、参数配置
bin/mysqld —initialize —user=mysql —basedir=/usr/local/mysql —datadir=/usr/local/mysql/data/mysql
注意 这一步 会生成 临时密码 例如:root@localhost: stdFPy(rD1FZ
bin/mysql_ssl_rsa_setup —datadir=/usr/local/mysql/data/mysql

5、配置 mysql配置
复制 mysql 启动服务到etc cp -rp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
修改 /usr/local/mysql/support-files/my-default.cnf 并 复制到 /etc cp -rp my-default.cnf /etc/my.cnf
注意:mysql5.7后面的版本没有my-default.cnf 文件 可以自己复制一个 放到/etc 下 改名为my.cnf

6、修改 my.cnf的基础配置
[client]
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/mysql
socket=/usr/local/mysql/tmp/mysql.sock
pid-file=/usr/local/mysql/mysqld.pid

数据库错误日志文件

log_error=/usr/local/mysql/logs/error.log
pid-file=/usr/local/mysql/mysqld.pid

设置redoLog文件所在目录, redoLog记录事务具体操作内容

innodb_log_group_home_dir=/usr/local/mysql/redolog

设置undoLog文件所在目录, undoLog用于事务回滚操作

innodb_undo_directory=/usr/local/mysql/undolog

7、启动服务
bin/mysqld_safe —user=mysql &
注意:在启动服务的时候最好看下日志文件,看一下启动情况、以及可能出现的异常

连接数据库

bin/mysql -uroot -p
输入前面生成的 临时密码

设置root密码

set password=password(‘A123456’);
grant all privileges on . to ‘root’@’%’ identified by ‘A123456’;
flush privileges;

配置环境变量

export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile

8、配置开机启动
chmod 755 /etc/init.d/mysql
chkconfig —add mysql
chkconfig —level 345 mysql on

chkconfig模块没有的话 apt-get install chkconfig

9、常见问题

服务器启动不起来,不知道咋弄的时候

把data、reolog、undlog 目录下文件删除

SSL error: Unable to get private key from ‘server-key.pem’

my.cnf 里增加 early-plugin-load=””

error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

apt-get install libaio1 libaio-dev

error while loading shared libraries: libaio.so.1

apt-get install numactl

数据库日志时区问题

SHOW GLOBAL VARIABLES LIKE ‘log_timestamps’;
SET GLOBAL log_timestamps = SYSTEM;

文档更新时间: 2018-04-17 22:03   作者:xiaojie.zhang