参考文章https://baijiahao.baidu.com/s?id=1584072431498789934&wfr=spider&for=pc
https://www.5yun.org/10074.html
1.检查是否有rpm包,如果没有用rpm安装过mysql,不应该有残留,如果有,需要删掉
检查语法: rpm -qa|grep -i mysql
删除语法: rpm -e <包的名字>
如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包。
2.卸载系统自带的mariadb
检查语法: rpm -qa|grep Mariadb
删除语法: rpm -e <包的名字>
3.查看所有的 mysql目录 ,并删除
find / -name mysql
4.创建mysql用户组和mysql用户
groupadd mysql //创建mysql 用户组
useradd -g mysql mysql //创建一个用户名为mysql的用户并加入mysql用户组
5.通过ssh工具,将MySQL安装包 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 拖拽到 /root目录下并解压
解压指令tar -zvxf /root/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
6.将解压后的安装包移动到/usr/local 目录下,并重命名mysql
mv /root/mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql
7.修改权限
cd /usr/local/mysql
chown –R mysql . //把当前目录下的文件及目录的属性改为mysql用户
chgrp –R mysql . //把当前目录下的文件所属的组件改为mysql组
8.创建data目录,作为数据库存储位置
mkdir /usr/local/mysql/data
9.配置my.cnf文件
此文件非常重要,初始化之前一定要把此文件放到 /etc 目录下,
此文件内容如下(路径根据自己的实际情况):
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
10.初始化mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意:把初始密码拷贝下来,备份
chown -R root . //把当前目录下的文件及目录的属性改为root 用户
chown -R mysql data
11.启动mysql,并查看是否已经启动成功
/usr/local/mysql/bin/mysqld_safe --user=mysql &
12.通过初始密码登录mysql,并修改密码
13.设置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
执行service mysqld stop关闭命令,OK
然后在执行service mysqld start启动命令,OK
14.防火墙添加端口
外网端口
firewall-cmd --zone=public --add-port=80/tcp --permanen
mysql数据库端口
firewall-cmd --zone=public --add-port=3306/tcp --permanen
重启防火墙 firewall-cmd --reload 或者 service firewalld restart
15.进入到mysql bin目录下,通过sql语句,将user表的 host 改为 %,否则外网通过客户端工具会链接不上
./mysql -uroot –p
mysql> use mysql;
mysql> update user set host ='%'where user ='root' and host ='localhost';
mysql> flush privileges;
注意:14和15主要是为了外网设置的,如果只是本机访问,可以不设置