这里我采用的是二进制安装包的方式进行安装,安装包的下载地址为:https://dev.mysql.com/downloads/mysql/ ,按需选择对应的版本后进行下载:
下载后进行解压,并对解压后的文件夹进行重命名,以便在后面的配置中进行引用:tar -zxvf mysql-8.0.17-el7-x86_64.tar.gz -C /usr/app
mv mysql-8.0.17-el7-x86_64/ mysql-8.0.17
配置 MySQL 环境变量:
vim /etc/profile
export MYSQL_HOME=/usr/app/mysql-8.0.17
export PATH=$MYSQL_HOME/bin:$PATH
使得配置的环境变量立即生效:
source /etc/profile
为了安全起见,建议使用专门的用户组来管理 MySQL 服务。创建命令如下:
# 创建用户组
groupadd mysql
# 创建用户
useradd -g mysql mysql
# 设置密码
passwd mysql
# 将安装目录的所有者改为mysql用户
chown -R mysql:mysql /usr/app/mysql-8.0.17
MySQL 会默认读取 /etc/my.cnf
路径上的配置文件,该文件需要手动创建,内容如下。下面是一个最小化的配置,主要是定义了 MySQL 的安装目录和数据存放目录:
[mysqld]
# 每个Mysql实例的唯一编号
server-id = 1
# 服务端口号 默认3306
port = 3306
# 安装目录
basedir = /usr/app/mysql-8.0.17
# 数据存放目录
datadir = /usr/app/mysql-8.0.17/data
# 临时目录
tmpdir = /tmp
# 设置socket文件所在目录
socket = /tmp/mysql.sock
# 服务端字符集
character-set-server = utf8mb4
执行以下命令进行初始化:
/usr/app/mysql-8.0.17/bin/mysqld --initialize --user=mysql \
--basedir=/usr/app/mysql-8.0.17 --datadir=/usr/app/mysql-8.0.17/data
注意观察控制台输出,控制台上会显示 root 用户的临时登录密码,拷贝好该密码,以便后面使用:
[Note][MY-010454][Server] A temporary password is generated for root@localhost: NTWbsvTJj9<P
首先将 mysql.server
拷贝到 /etc/init.d/ 目录下,命令如下:
cp /usr/app/mysql-8.0.17/support-files/mysql.server /etc/init.d/mysql
之后再启动 MySQL 服务,出现 SUCCESS
则代表启动成功:
/etc/init.d/mysql start
MySQL 服务启动完成后,可以使用下面的命令进行登录,登录密码为上面生成的临时密码:
mysql -u root -p
使用临时密码登录后, root 用户还不能进行任何操作,需要先进行密码修改,命令如下:
alter user 'root'@'localhost' identified by '123456';
默认情况下,MySQL 只允许来自本机的连接,想要从其它主机上访问 MySQL 服务,需要配置远程登录用户,命令如下:
# 创建名为 heibaiying 的用户
create user heibaiying@'%' identified by '123456';
# 授予其可以在任意主机上进行连接的权限
grant all privileges on *.* to heibaiying@'%' with grant option;
# 刷新权限
flush privileges;
配置完成后就可以在其他主机上使用该用户来连接 MySQL 服务。至此,MySQL 的单机环境已经搭建完成。