侧边栏壁纸
博主头像
乌拉队长博主等级

你只管努力,其余的交给命运

  • 累计撰写 125 篇文章
  • 累计创建 34 个标签
  • 累计收到 31 条评论

目 录CONTENT

文章目录

Linux(Centos 7)安装MySQL8.0(压缩包版安装)

乌拉队长
2022-11-22 / 0 评论 / 0 点赞 / 26 阅读 / 1,263 字

环境配置

  • CentOS 7
  • MySQL 8.0.31 x64

下载MySQL压缩包

官方下载地址:MySQL社区版下载地址

1669102479319

下载完成后上传到服务器,或者直接在服务器上使用wget命令下载效果相同

安装前准备

主要步骤:

  1. 解压MySQL安装包
  2. 创建相关文件
  3. 创建用户及授权
  4. 修改配置文件
  5. 配置环境变量

1.解压MySQL安装包

我的安装包被上传到/home/share目录下

# 切换到压缩包所在目录
cd /home/share
# 解压缩MySQL安装包到当前目录
tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

# 创建数据库安装文件夹(根据你自己需要修改)
mkdir /usr/local/mysql

# 复制解压后的文件到安装文件夹
mv  /home/share/mysql-8.0.31-linux-glibc2.12-x86_64 /usr/local/mysql

2.创建相关文件

# 创建数据文件存储位置
mkdir /usr/local/mysql/data
# 创建套接字存储位置
mkdir /var/lib/mysql 

3.创建用户及授权

创建名为mysql的用户及用户组

# 创建用户组
groupadd mysql

# 创建用户
useradd -g mysql mysql

mysql用户及用户组授权,不然后面安装时可能会报错

# 授权安装目录
chown -R mysql:mysql /usr/local/mysql

# 授权mysql对data目录的读区和执行权限
chmod -R 750 /usr/local/mysql/data

# 授权套接字文件目录
chown -R mysql:mysql /var/lib/mysql/ 

4. 修改配置文件

使用如下命令修改/etc/my.cnf配置文件,如果不存在就会自动创建

# 编辑/etc/my.cnf
vi /etc/my.cnf

将下面的配置复制到上面的配置文件中

[mysqld]
# 数据库端口
port=3306
# mysql安装目录
basedir=/usr/local/mysql
# 数据文件存储目录
datadir=/usr/local/mysql/data
# 最大连接数
max_connections=200
# 字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# 连接mysql时的套接字存储位置
socket=/var/lib/mysql/mysql.sock
# 启动用户(很重要)
user=mysql


#sql_mode=NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

在上面的配置中,user=mysql很重要,如果添加这个配置并且你使用的是root用户启动的话,在后面初始化数据库时会有一个报错ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.pid)
除此之外,如果不添加该配置的话,另一个解决办法是使用mysql用户登录,但是这种情况我没有进行测试,如有需要请自行测试!

授权配置文件访问权限

chown 777 /etc/my.cnf

5.配置环境变量

配置环境变量的作用是让用户在任意目录下都可以执行mysql命令,如果不配置的话,就需要每次都切换到安装位置的bin目录下执行mysql命令

# 编辑/etc/profile
vi /etc/profile

打开文件后,按住shift+G组合键可以快速跳转到文件最后一行,并在最后一行添加如下配置

export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin:$MYSQL_HOME/lib

如果PATH后面不为空,则直接将如下内容添加到PATH后面即可

# 其中/usr/local/mysql,是你的mysql安装位置,根据你自己的安装位置进行替换
/usr/local/mysql/bin:/usr/local/mysql/lib

保存退出,然后执行如下命令使配置生效

source /etc/profile

安装MySQL

  1. 安装并初始化MySQL
  2. 将MySQL加入服务
  3. 启动MySQL服务

1.安装并初始化MySQL

mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize --console

上面命令执行后如果报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
则执行如下命令

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

如果没有报错的话,一般最后一行会给root用户随机生成一个密码,一定保存好,别被命令行冲没了。

2.将MySQL加入服务

在mysql安装目录usr/local/mysql下执行

cp  support-files/mysql.server /etc/init.d/mysql
cp  support-files/mysql.server /etc/init.d/mysqld

授予上述两个文件执行权限

chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

3.启动MySQL服务

service mysql start
# 或者
systemctl mysql start

修改root用户密码

在终端输入mysql -uroot -p 回车,输入上一步初始化时生成的随机密码进入数据库
执行如下语句:

# 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

# 刷新权限表
flush privileges;

# 授予远程访问权限
update user set host='%' where user='root';

# 刷新权限表
flush privileges;
0

评论区