一、 Mysql安装包下载地址:
点击链接: 官网地址
或者执行以下命令
wget -c https://dev.mysql.com/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
二、安装依赖环境
1、下载依赖包
yum install libaio
2、将压缩包解压至 /usr/local 目录
tar -xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local
3、进入 /usr/local 目录并为 mysql安装目录创建软连接
cd /usr/local/
ln -s mysql-5.7.18-linux-glibc2.5-x86_64 mysql
4、建立mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
5、根据my.cnf配置文件定义的位置创建mysql的数据目录及日志目录,这里指定在 /data 目录下
mkdir /data/mysql/{data,logs} -p
6、修改 Mysql 安装目录及数据、日志目录的属主权限
chown -R mysql:mysql /usr/local/mysql/
chown -R mysql:mysql /data/mysql/
7、配置 Mysql 配置文件 my.cnf ,如果配置不当,将会导致后面初始化和启动失败。
[client]
default-character-set = utf8
[mysqld]
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql/data
pid-file = /data/mysql/mysql.pid
socket = /tmp/mysql.sock
character-set-server=utf8
default-storage-engine=INNODB
skip_external_locking
skip-name-resolve
event_scheduler = 1
log_output = FILE
slow-query-log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/logs/slow.log
log-queries-not-using-indexes
server-id = 1
sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
log-warnings = 2
log-error = /data/mysql/logs/error.log
log-bin = /data/mysql/data/mysql-bin
此配置文件没有定义一些优化参数,因涉及过多。如有需要,请翻阅my.cnf 配置文件详解。
三、数据库安装
1、进入 /usr/local/mysql 目录,进行初始化。
cd /usr/local/mysql
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --initialize
2、初始化完成后,将会生产 root密码,在配置文件定义的错误日志里面。
查看密码:
grep "pass" /data/mysql/logs/error.log
3、将 mysql 进程放入到 /etc/init.d/ 下,命名为 mysqld。
cp support-files/mysql.server /etc/init.d/mysqld
4、打开 /etc/profile 文件,添加 mysql 环境变量。
vim /etc/profile
#set mysql path
export Mysql_Path=/usr/local/mysql/bin
export PATH=$PATH:$Mysql_Path
5、执行命令重新加载 /etc/profile 文件。
source /etc/profile
6、启动 mysql 服务。
service mysqld start
四、数据库内部设置
1、用刚才生成的 root 密码登陆数据库
mysql -uroot -p
2、进入 mysql 终端,执行命令修改 root密码并给予远程登录权限(如有需要)。
alter user 'root'@'localhost' identified by 'rootroot';
use mysql
update user set user.Host='%' where user.User='root';
3、刷新权限
flush privileges;