环境:centos7.6
1:检查系统是32位还是64位
uname -r
2:下载tar包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
3:解压
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
4:移动、改名(可以不进行此操作)
5:创建mysql组和用户(可以不进行此操作)
groupadd mysql
useradd -r -g mysql mysql
6:创建数据库文件目录并授权给mysql用户
cd /
mkdir -p data
cd data/
mkdir -p mysql
chown mysql:mysql -R /data/mysql
7:配置
vi /etc/my.cnf
参数明细,把下面内容复制进去 。如果要修改成自己的自定义路径,请在此处修改
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql-5.7.26
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
8:初始化mysql(安装)
#移动到mysql下面的bin目录
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.26/ --datadir=/data/mysql/ --user=mysql --initialize
9:查询初始密码
在第7步的my.cnf配置里面的mysql.err文件中
10:启动mysql
service mysqld start
#可能会出现此错误
Redirecting to /bin/systemctl start mysqld.service
Failed to start mysqld.service: Unit not found.
#解决办法
#查询/etc/init.d/下是否存在mysql
ll /etc/init.d/ | grep mysql
#查询mysql.server
find / -name mysql.server
执行复制操作
cp /mysql安装路径/mysql/support-files/mysql.server /etc/init.d/mysql
补充:用navicat链接数据库时链接失败
centos从7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。所以你只要停止firewalld服务即可:
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service