前言
Mysql最近爆出了安全漏铜
,8.0.27
之下都有受影响,具体情况参考 国家信息安全漏洞共享平台
特别说明:参考了B站Up主CodeSheep的安装手册,特此感谢!
再说明:本人第二次写博客,如有错误,请多包涵!
准备工作
卸载Mariadb
查询系统是否已安装的Mariadb,如果有,需要卸载,命令如下
这里忘了截图,我的虚拟机只有mariadb-libs-5.5.56-2.el7.x86_64
,卸载完再查询一次。
rpm -qa|grep mariadb
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
rpm -qa|grep mariadb
安装依赖
安装mysql8的依赖,安装前看的文章和视频说需要安装,那就装呗
。
yum install perl net-tools -y
yum install libaio
Mysql安装包操作
下载地址
https://downloads.mysql.com/archives/community/
如上图,目前8.0.27是最新版,没有tar.gz的版本
。
将准备好的MySQL 安装包解压到/usr/local/ 目录,并重命名为mysql
tar -xJvf /root/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql
用户及权限
创建MYSQL用户和用户组
groupadd mysql
useradd -g mysql mysql
同时新建MySQL数据存目录,后续备用
cd /usr/local/mysql
mkdir data
将mysql目录的权限授给mysql用户和mysql组
chown -R mysql:mysql /usr/local/mysql
Mysql配置文件
在/etc 目录下新建my.cnf 文件
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
# 设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放⽬录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为8比特编码的latin1字符集,修改为utf8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=0
同时使用如下命令创建/var/lib/mysql 目录,并修改权限:
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
正式安装
终于要开始安装了!!!
。
安装步骤
1、进入/usr/local/mysql
cd /usr/local/mysql
2、执行初始化命令
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
3、注意:记住下面打印出来的root的密码,后面首次登陆需要使用,下图中框住的部分
安装完成了,但是接下来的配置更加重要!!!
。
自启动
cp ./support-files/mysql.server /etc/init.d/mysqld
并修改/etc/init.d/mysqld ,修改其basedir 和datadir ,如图
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
设置MYSQL系统服务并开启自启
首先增加mysqld 服务控制脚本执行权限:
chmod +x /etc/init.d/mysqld
同时将mysqld 服务加入到系统服务:
chkconfig --add mysqld
最后检查mysqld 服务是否已经生效即可:
chkconfig --list mysqld
这样就表明mysqld 服务已经⽣效了,在2、3、4、5运⾏级别随系统启动⽽⾃动启动,以后可以直接使
⽤service 命令控制mysql 的启停
启动测试
。
service mysqld start
启动成功,同时提示中日志存放路径
[root@localhost mysql]# service mysqld start
Starting MySQL.Logging to ‘/usr/local/mysql/data/localhost.localdomain.err
’.
. SUCCESS!
环境变量
将MYSQL 的BIN 目录加入PATH 环境变量
这样方便以后在任意目录上都可以使用mysql 提供的命令。
编辑 ~/.bash_profile 文件。
vim ~/.bash_profile
//在文件末尾处追加如下信息
export PATH=$PATH:/usr/local/mysql/bin
//最后执行如下命令使环境变量生效
source ~/.bash_profile
修改Mysql密码及权限
首次登陆MYSQL
复制上文安装完成提示的密码进行登录
mysql -u root -p
-- 修改密码,新密码123456
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> flush privileges;
-- 设置root用户远程登录
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
结尾
最后用navicat、dbeaver等工具测试连接,测试成功后,有需要的话关机拍摄快照