以centos为例(以root身份登录)

目录约定

  • 安装文件下载目录:/data/software
  • mysql目录安装位置:/usr/local/mysql
  • 数据库保存位置:/data/mysql
  • 日志保存位置:/data/log/mysql
#如果这3个文件夹不存在,先创建
mkdir -p /data/software
mkdir -p /data/mysql
mkdir -p /data/log/mysql

#创建错误日志文件
cd  /data/log/mysql
touch error.log

#/usr/local/mysql这个目录待会解压安装包的时候一并创建

下载并解压

官网选择mysql5.7.24 Linux - Generic版本下载

文件较大推荐服务器使用wget命令下载,或者本地使用迅雷下载,然后上传到服务器

cd /data/software
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
#这里注意mysql后面没有/
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

新建mysql组、用户

groupadd mysql
#新建msyql用户禁止登录shell
useradd -r -g mysql mysql -s /sbin/nologin

#更改目录权限
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/log/mysql

配置参数

bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

bin/mysql_ssl_rsa_setup --datadir=/data/mysql

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql

vim /etc/init.d/mysql
#修改以下内容
basedir=/usr/local/mysql 
datadir=/data/mysql

网上很多教程有这一步 cp my-default.cnf /etc/my.cnf,不过官网说:从5.7.18开始不在二进制包中提供my-default.cnf文件。参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

vim /etc/my.conf

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
character_set_server=utf8
user=mysql
port=3306
tmpdir=/tmp
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/data/log/mysql/error.log
pid-file=/data/mysql/mysql.pid

# include all files from the config directory
!includedir /etc/my.cnf.d

启动mysql

启动
 /etc/init.d/mysql start
 
 mysql -hlocalhost -uroot -p
 
 #如果出现:-bash: mysql: command not found,就执行
 ln -s /usr/local/mysql/bin/mysql /usr/bin

修改密码

set password=password('root');

设置root账户的host地址(修改了才可以远程连接)

这里就可以使用远程连接测试了;

mysql>grant all privileges on *.* to 'root'@'%' identified by 'root';
mysql>flush privileges;

查看表

use mysql;
select host,user from user;

配置mysql开机自启

chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on

补充

#退出mysql命令窗口
exit

#查看mysql状态
service mysql status

#停止mysql
service mysql stop

#启动mysql
service mysql start