Linux下安装mysql-5.7.28 详细步骤
一、下载地址: https://downloads.mysql.com/archives/community/
二、环境配置
检测系统是否自带Mysql :
rpm -qa | grep -i mysql
查找mysql 的相关目录 :
find / -name mysql
注意:如果有相关的,需要 rm -rf 删除干净
并且需要确定etc下没有my.cnf, var下的log包中没有mysqld.log,有的话删除
# rm -rf /etc/my.cnf
# rm -rf /var/log/mysqld.log
用连接工具将下载的mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz上传到linux服务器/data/software/的目录下面
三、安装
1.进入/data/software/目录下解压
# tar -zxvf mysql-5.7.28.tar.gz
2.解压完成后重命名并移动到指定路径
# mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28
# mv mysql-5.7.28 /usr/local/
3.检查mysql组和用户是否存在,如果没有则创建
# cat /etc/group|grep mysql
# groupadd mysql
# useradd -r -g mysql mysql #useradd -r参数表示mysql用户是系统用户,不可用于登录系统
4.安装数据库
创建data目录
# cd
# /usr/local/mysql-5.7.28
# mkdir data
5.将/usr/local/mysql-5.7.28的所有者及所属组改为mysql
# chown -R mysql.mysql /usr/local/mysql-5.7.28
6.在/usr/local/mysql-5.7.28/support-files目录下创建my_default.cnf
# vim my_default.cnf
以下配置放入my_default.cnf中保存退出
[mysqld]
#设置mysql的安装目录
basedir =/usr/local/mysql-5.7.28
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql-5.7.28/data
#设置端口
port = 3306
socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /usr/local/mysql-5.7.28/data/mysqld.log
pid-file = /usr/local/mysql-5.7.28/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
7.拷贝,是否覆盖,是(y后Enter)
# cp my_default.cnf /etc/my.cnf
8.初始化Mysql
# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.28/ --datadir=/usr/local/mysql-5.7.28/data/
如果报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or 就安装libaio,如果没有则跳过
yum install libaio
9.初始化完成后查看日志获取临时密码
# cat /usr/local/mysql-5.7.28/data/mysqld.log
注 : (root@localhost: ?Lqaj4utzlyk) 是临时密码
10.把启动脚本放到开机初始化目录
# cp support-files/mysql.server /etc/init.d/mysql
- 启动mysql
# service mysql start
四、修改密码
1.进入mysql并更改密码
# cd /usr/local/mysql-5.7.28
# ./bin/mysql -u root -p
# mysql> set password=password('123456');
# mysql> grant all privileges on *.* to root@'%' identified by '123456';
# mysql> flush privileges;
2.添加远程访问权限
# mysql> use mysql;
# mysql> update user set host='%' where user = 'root';
# mysql> flush privileges;
注:如果更改时报错:ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’,就先查询一下是否已更改,最后执行刷新。
3.重启mysql生效
# service mysql restart