1、上传源码包mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz到/opt目录下
2、 cd /opt
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
3、移动到/usr/local目录下
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local
4、更换文件名
mv /usr/local/mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
5、检查是否已存在 mysql 相关
rpm -qa | grep mysql
如果显示出 mysql-xx 什么的,对其删除,指令为:rpm -e --nodeps 显示出来的文件名,接着检查 mariadb
rpm -qa | grep mariadb
同样,若是显示 mariadb-xx ,也对其删除,指令同上
6、添加 mysql 用户组 和 mysql 用户(意思就是把创建的 mysql 用户添加到 mysql 组里)
groupadd mysql
useradd -r -g mysql mysql
7、赋予权限(意思就是让 mysql 用户组和 mysql 用户有操作目录的权限)
cd /usr/local
chown -R mysql mysql
chgrp -R mysql mysql
8、 创建配置文件(直接通过 vi 来创建,粘贴以下内容后 wq 保存退出,注意 basedir 和 datadir 等路径)
cd /usr/local/mysql
cp /etc/my.cnf /etc/my2.cnf
echo > /etc/my.cnf
9、vim /etc/my.cnf 新增下列属性
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
tmpdir=/tmp
bind-address = 0.0.0.0
max_connections=200
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default-storage-engine=INNODB
innodb_buffer_pool_size=64MB
max_allowed_packet=16M
skip-name-resolve
[mysqld_safe]
log-error=/usr/local/mysql/data/error.log
pid-file=/usr/local/mysql/data/mysql.pid
[mysql]
default-character-set=utf8mb4
[client]
socket=/tmp/mysql.sock
default-character-set=utf8mb4
10、新建data数据目录
cd /usr/local/mysql
mkdir data
11、初始化(mysql目录 /usr/local/mysql ,重点是复制记住初始化生成的密码)
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意看最后一行是mysql的初始化密码
12、设置开机自启
把 mysql.server 复制到 init.d/mysql 下(init.d下无mysql 文件夹也无妨,直接执行下面这句)
cp support-files/mysql.server /etc/init.d/mysql
添加可执行权限
chmod +x /etc/init.d/mysql
13、添加 mysql 服务
chkconfig --add mysql
查看服务列表(若 3 4 5 为 off,则执行:chkconfig --level 345 mysql on)
chkconfig --list
查看mysql 3 4 5是否为on
14、添加mysql系统命令
vim /etc/profile
文件末尾添加
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
让文件立马生效
source /etc/profile
15、启动 mysql 服务
systemctl start mysql
16、登录mysql
./bin/mysql -u root -p
输入刚才初始化的密码
17、更改root密码,需要带数字,大写字母,小写字母,特殊符号
alter user 'root'@'localhost' identified by 'Qaz123456!@#$';
# 设置密码永不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
# 刷新MySQL的系统权限相关表
flush privileges;
18、开启远程登录
grant all privileges on *.* to root@"%" identified by "Qaz123456!@#$";
grant all privileges on *.* to root@"localhost" identified by "Qaz123456!@#$";
flush privileges;
quit 退出mysql客户端
19、开放3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload