一、 从mysql官网下载软件
进入官网下载地址: https://www.mysql.com/downloads/
由于我们是安装MySQL5.7,所以这里选择先前版本
选择好操作系统和版本,下载tar.gz包
选择仅下载
二、 安装
1. 使用xftp或其它工具上传到/opt
目录下
2. 解压缩到/usr/local
目录下
cd /opt
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
# 进入到该目录下
cd /usr/local/
# 改名mysql
mv mysql-5.7.36-linux-glibc2.12-x86_64/ mysql
3. 检查机器上是否已经存在mysql
rpm -qa | grep mysql
rpm -qa | grep mariadb
# 上一步如果存在发现有mariadb,则执行如下命令删除自己对应的
yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
4. 查看是否已经有了用户名和组
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
# 若有,则执行删除(会删除对应的组和用户)
userdel -r mysql
5. 创建用户和组
groupadd mysql
useradd -s /bin/bash -m -g mysql mysql
6. 创建mysql.log
文件
mkdir /usr/local/mysql/log
touch /usr/local/mysql/log/mysql.log
# mysql目录授予权限用户和组
chown -R mysql:mysql /usr/local/mysql
7. 创建my.cnf
文件
# 如果vim命令找不到,使用vi命令:vi /etc/my.cnf
vim /etc/my.cnf
添加如下内容(使用上面命令后一定要先按下键盘 的A键
,进入文本插入模式)
[mysqld]
character_set_server=utf8
socket=/usr/local/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
user=root
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
[mysqld_safe]
log-error=/usr/local/mysql/log/mysql.log
pid-file=/usr/local/mysql/mysql.pid
8. 初始化mysql
# 进入到MySQL安装目录下bin目录
cd /usr/local/mysql/bin
# --defaults-file=/etc/my.cnf要放在参数的第一位,初始化信息可以在MySQL的errorlog中查看,并且在errorlog会生成一个root的随机密码,该随机密码仅仅为root@localhost用户所有
./mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=root
出现下面界面表示初始化成功,这里生成了一个临时密码,一会登录的时候要使用
9. 添加mysql环境变量
# 如果vim命令找不到,使用vi命令:vi /etc/profile
vim /etc/profile
# 最后一行加入以下代码
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib/
10. 刷新环境变量
source /etc/profile
11. 添加至开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
12. 启动mysql
mysqld_safe --defaults-file=/etc/my.cnf &
或
systemctl start mysqld
13. 登录mysql
# 执行命令后输入刚才的临时密码,即可登录成功
mysql -uroot -p
# 修改root密码为123456(分号不要忘记)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 刷新权限(分号不要忘记)
FLUSH PRIVILEGES;
# 这里的字符编码已经是utf8了,因为在my.cnf中我们配置了编码方式,可以使用以下命令查看编码
show Variables like 'char%';
# 退出mysql
exit;
14. 关闭mysql服务
mysqladmin shutdown -uroot -S /usr/local/mysql/mysql.sock -p
或
systemctl stop mysqld
至此,mysql5.7安装完毕,有哪些不当的地方还望各位大佬多多指教。
三、mysql5.6和5.7的比较
mysql5.7和以前版本的不同点
1. 初始化工具不同
mysql5.6.xx使用的是mysql_install_db,mysql5.7.6+官方推荐使用mysqld -initialize;
2. 初始化数据库不同
mysql5.6.xx初始化之后存在mysql,information_schema,performance_schema,test四个数据库,
mysql5.7.6+初始化之后存在mysql,information_schema,performance_schema,sys四个数据库。
3. 初始化用户不同
mysql5.6.xx初始化之后存在root@localhost,root@'::1',root@'hostname',''@'localhost',''@'hostname'五个用户,
MySQL5.7.6+初始化之后存在mysql.sys,root@localhost用户。
4. 初始化root密码
MySQL5.6.xx初始化之后root用户密码为空,MySQL5.7.6+初始化之后会为root@localhost用户生成随机密码。