1、将下载的包上传至服务端。
2、执行命令:rpm -qa |grep -i mysql 查看是否已安装过mysql
3、执行命令:rpm -qa |grep -i mariadb 查看是否有系统自带的mariadb,存在最好卸载掉避免冲突。
4、卸载mariadb软件包,执行命令:rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64
如出现错误提示:
这是存在依赖性关系导致,重新执行命令:yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 来卸载。(yum remove + 包名 会检查依赖关系并一起移除)。
输入y 回车
再次检测一次是否卸载完成
mariadb卸载完成。
5、解压rpm文件压缩包,执行命令: tar -zxvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
如出现如下错误:
重新使用命令: tar -vxf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar 解压。
下面就是解压出来的文件:
一般只安装其中四个包:
6、依次执行四个安装命令:
1.rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
2.rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
3.rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
4.rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
如出现如下错误:
表示缺少libaio包,安装一下即可。
执行命令:yum search libaio 检索相关信息。
执行安装命令: yum install libaio-devel.x86_64 -y 进行安装。
执行命令:rpm -aq libaio 查看是否安装。
安装libaio成功。
重新执行:rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm 完成刚才安装失败的server包。
OK,四个包安装完成。
7、数据库初始化:
(为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行初始化命令:mysqld --initialize --user=mysql ,如果是以 mysql 身份运行,则可以去掉 --user 选项。)
这里我们执行命令:mysqld --initialize --user=mysql 即可。
8、执行命令查看日志里面的临时密码:cat /var/log/mysqld.log
复制记住临时密码。
9、启动mysql服务:
执行命令:systemctl start mysqld.service
执行命令:service mysqld status 查看启动状态
启动成功。
10、登录root账号,执行命令:mysql -uroot -p
输入刚才的临时密码,回车。
OK,登录成功。
11、登陆后需要立即修改root账号密码:
执行命令:alter user 'root'@'localhost' identified by '新密码';
否则会报错如下:
12、修改完密码之后,可以查看mysql用户
依次执行:
use mysql;
select user, host from user;
此时root账号应该只能本机登录,一般需要改成外网远程连接。
13、继续执行命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION;
flush privileges; 刷新权限
再次查看:
14、重启mysql服务:service mysqld restart
现在即可远程登录(注意:如防火墙打开了,需要开启3306端口,未开防火墙不管)。
(另外,各家云服务器需要去平台开通端口)。
【提示:本方案安装路径全为默认路径】
附:更改data路径及binlog配置(在执行mysqld --initialize --user=mysql之前):
eg:
1、创建文件夹:mkdir /data/datadir/mysql
2、创建文件夹: mkdir /data/datadir/binlog2sql
3、执行 chown -R mysql:mysql /data/datadir/binlog2sql
4、执行 chown -R mysql:mysql /data/datadir/mysql
5、执行:vi /etc/my.cnf
6、将配置文件改成(仅供参考):
[client]
port=3306
default-character-set=utf8
socket=/data/datadir/mysql/mysql.sock
[mysqld]
port=3306
character-set-server=utf8
datadir=/data/datadir/mysql
socket= /data/datadir/mysql/mysql.sock
connect_timeout=60
net_read_timeout=600
net_write_timeout=180
wait_timeout=86400
interactive_timeout=86400
max_allowed_packet=512M
lower_case_table_names=1
log-bin-trust-function-creators=1
server_id=1
log-bin=/data/datadir/binlog2sql/mysql-bin
binlog-format=ROW
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
socket=/data/datadir/mysql/mysql.sock
5、执行初始化操作(即执行mysqld --initialize --user=mysql),接下来按上面正常步骤继续执行。
rpm安装默认目录:
数据文件目录:/var/lib/mysql/
配置文件模板:/usr/share/mysql(mysql.server命令及配置文件)
mysql客户端工具目录:/usr/bin(mysqladmin mysqldump等命令)
启动脚本:/etc/rc.d/init.d/(启动脚本文件mysql的目录)
日志目录:/var/log/
pid,sock文件目录:/tmp/
............