第一步 下载tar包
方式1 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
方式2 直接打开连接 https://dev.mysql.com/downloads/mysql/
或者打开 https://www.mysql.com/downloads/ 后 选择community server
切换Linux 5.7版本后点击卸载 gz.tar类型文件
选中第一个download>选中no thanks
第二步 在安装前先用命令检查是否已经安装mysql
rpm -qa|grep -i mysql //检查
如过检查出类似如下数据
mysql-libs-5.6.56-1.el6_0.1.x86_64 则直接卸载
卸载命令
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强力删除模式,上面命令删除提示有依赖,使用该命令
检查否存在 mariadb 数据库,如有则卸载
rpm -qa | grep mariadb如果检查出类似如下数据
mariadb-libs-5.5.60-1.el7_5.x86_64 则直接卸载
卸载命令
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
再次检查没有问题了
第三步 创建目录 opt/mysql,把文件同步到此目录下
第四步 解压文件
tar xvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql-5.7.29
第五步 添加系统mysql组和mysql用户
检查mysql组和用户是否存在,如无创建
存在的情况
cat /etc/group | grep mysql
// 类似
mysql:x:590:
cat /etc/passwd | grep mysql
// 类似
mysql:x:597:590::/home/mysql:/bin/bash
以上为存在的情况,如无,执行添加命令:
groupadd mysql
useradd -r -g mysql mysql // useradd -r参数表示mysql用户是系统用户,不可用于登录系统
第六步 安装数据库
6.1 创建data目录
cd mysql-5.7.29
mkdir data
6.2 将/opt/mysql/mysql-5.7.29的所有者及所属组改为mysql
chown -R mysql.mysql /opt/mysql/mysql-5.7.29
6.3 在/opt/mysql/mysql-5.7.25/support-files目录下创建my_default.cnf
touch my_default.cnf
复制如下内容至my_default.cnf
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES basedir = /opt/mysql/mysql-5.7.29 datadir = /opt/mysql/mysql-5.7.29/data port = 3306 socket = /tmp/mysql.sock character-set-server=utf8 log-error = /opt/mysql/mysql-5.7.29/data/mysqld.log pid-file = /opt/mysql/mysql-5.7.29/data/mysqld.pid
6.4 拷贝文件
cp support-files/my_default.cnf /etc/my.cnf
如果提示是否覆盖,y
6.5 初始化 mysqld
cd /opt/mysql/mysql-5.7.29
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.29/ --datadir=/opt/mysql/mysql-5.7.29/data/
6.6 初始化完成之后,查看日志
/opt/mysql/mysql-5.7.29/data/mysqld.log
临时密码
A temporary password is generated for root@localhost: ??v+Qk2C(9K8
6.7 把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
6.8 启动mysql服务
service mysql start
6.9 登录mysql,密码为初始密码
cd /opt/mysql/mysql-5.7.29
./bin/mysql -u root -p
6.10 修改密码
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
6.11 添加远程访问权限
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
===============================================================================================
解决6.10的报错
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
use mysql mysql> select host, user from user;
将相应用户数据表中的host字段改成'%';
update user set host='%' where user='root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 不予理会
flush privileges;
报错已解决!
=================================================================================
6.12 重启mysql生效
service mysql stop
service mysql start //关闭后重启service mysql restart //重启
6.13 打开防火墙或安全组,开放端口3306
6.14 界面化工具测试远程连接