一、下载mysql.tar.gz文件
官网下载地址:
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
二、上传文件并解压到安装目录
1、 使用xftp上传到指定目录,我的目录为
/data
2、解压
[root@localhost data]# tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
3、重命名
[root@localhost data]# mv mysql-5.7.35-linux-glibc2.12-x86_64 mysql-5.7.35
三、添加用户组,用专门管理mysql,提高安全
1、新建组
groupadd mysql
2、新建用户
useradd -r -g mysql mysql
3、 进入mysql根目录
cd /data/mysql-5.7.35
4、修改拥有者为mysql用户
chown -R mysql:mysql ./
四、配置mysql服务
1、移动并重命名
[root@localhost bin]# cp /data/mysql-5.7.35/support-files/mysql.server /etc/init.d/mysql
2、修改服务
vim /etc/init.d/mysql
修改内容为:
basedir=/data/mysql
datadir=/data/mysql/data
3、环境变量
# vim /etc/profile
# mysql environment
export MYSQL_HOME=/data/mysql-5.7.35
export PATH=$PATH:$MYSQL_HOME/bin
五、配置mysql的配置文件
进入etc目录后修改my.cnf文件内容
# *** 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.
[client]
port = 3306
default-character-set=utf8
[mysqld]
# 一般配置选项
basedir = /data/mysql
datadir = /data/mysql/data
log-error=/data/mysql-5.7.36/log/mysqld.log
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
六、初始化MySQL
在mysql文件夹中创建log文件,并赋权
chown -R mysql:mysql ./
1、进入mysql/bin目录下
[root@localhost data]# cd mysql-5.7.35/bin
2、执行初始化
[root@localhost bin]# ./mysqld --initialize --user=root --basedir=/data/mysql-5.7.35 --datadir=/data/mysql-5.7.35/data
可能会出现以下情况:
解决方案一:
若可连接外网,执行以下步骤:
[root@AIM-TEST bin]# yum -y install numactl
方案二:
若不能联网,则下载离线包:https://centos.pkgs.org/
依次执行:
[root@AIM-TEST /]# rpm -ivh numactl-libs-2.0.12-5.el7.x86_64.rpm
[root@AIM-TEST /]# rpm -ivh numactl-devel-2.0.12-5.el7.x86_64.rpm
[root@AIM-TEST /]# rpm -ivh numactl-2.0.12-5.el7.x86_64.rpm
以上解决方案参考:https://www.cnblogs.com/ahaii/p/7323524.html
然后重新进行初始化命令
3、执行完毕后会自动生成默认的密码在执行记录中,注意复制出来
七、启动MySQL
[root@localhost mysql-5.7.35]# service mysql start
启动成功会有提示
错误:
解决方案:
可能是/data/mysql-5.7.35/data/数据目录mysql用户没有权限(修改数据目录的权限),然后重新启动,参考https://www.cnblogs.com/clsn/archive/2017/11/01/7765713.html
[root@AIM-TEST bin]# chown -R mysql.mysql /data/mysql-5.7.35/data
第二个错误:
[root@light mysql-5.7.36]# echo "" > /environment/mysql-5.7.36/log/mysqld.log
[root@light mysql-5.7.36]# chown -R mysql:mysql /environment/mysql-5.7.36/log/mysqld.log
然后重新启动即可
八、登录及远程配置
1、进入mysql/bin目录下执行
./mysql -uroot -p
2、 输入密码
Enter password:输入默认的临时密码
3、修改密码
set password=password('新密码');
4、 设置远程访问(即navicat登陆用户名密码)
privileges:⽤户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使⽤ALL databasename:数据库名
tablename:表名,如果要授予该⽤户对所有数据库和表的相应操作权限则可⽤表示,如.*
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '访问密码';
flush privileges;
5、开放端口
(1)开启端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
(2)重载防火墙
firewall-cmd --reload
九、设置开机启动和环境变量(可以忽略)
1、开机启动
(1)查看自启服务列表
chkconfig --list
(2)添加mysql服务到自启服务
chkconfig --add mysql
(3)设置自启
chkconfig mysql on
2、 环境变量
(1)编辑文件
为了不用在mysql/bin目录下才能连接mysql 将mysql/bin目录设置到环境变量中
vi /etc/profile
修改的内容为:
# mysql environment
export MYSQL_HOME=/data/mysql-5.7.35
export PATH=$PATH:$MYSQL_HOME/bin
(2)更新环境变量
source /etc/profile