前言

这是在正式服务器上操作前的尝试
看了好几篇文章,总体来说一言难尽
下面是我实践过成功了的,CentOS 6、7我都试过
借鉴大兄弟可直接跳转需要的部分


提示:以下是本篇文章正文内容,下面案例可供参考

一、Linux镜像下载

示例:官网太慢了,这里是在阿里镜像下的。

在这里插入图片描述
在这里插入图片描述

左边选择自己需要的版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这是我下载的版本,具体看个人,不一定非要一样。


二、虚拟机配置

在这里插入图片描述
这是我虚拟机的版本。

在这里插入图片描述

在这里插入图片描述

这里看实际情况,我当时没下载完成,所以选择稍后安装。

在这里插入图片描述
这里我是用CentOS7讲解。

在这里插入图片描述
找个没中文的文件夹放稳健点。

在这里插入图片描述
大小看实际情况自己调整。

在这里插入图片描述
在这里插入图片描述
内存按自身需求调节。等镜像下好后,这里也可以配,选中你的镜像文件。
在这里插入图片描述
这里选中VMnet8
我这里就啰嗦以下,虚拟机会在我们网络配置里面装两个虚拟网络,一个VM net1,一个VMnet8。VMnet8到时候需要和宿主机通讯。
在这里插入图片描述
编辑 > 虚拟网络编辑器 > 更改设置。

在这里插入图片描述
我这里写的是80网段,修改前ipconfig看看自己宿主机的IP网段。


三、Linux系统安装

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
选择这个是有图形化界面的,感兴趣的可以进去点点。为了模拟真实情况,不会在图形化页面安装。

在这里插入图片描述
没什么需要注意的,随意。

在这里插入图片描述
开启网络,主机名想改就改

在这里插入图片描述
配置下超级管理员,用户可以不建,到时候都是用超级管理员账户操作。

在这里插入图片描述
许可勾上ojbk


四、通讯测试

可以直接在linux操作系统座面终端输入hostname -I查看虚拟机ip,然后在宿主机ping虚拟机,虚拟机ping宿主机,看是否互通。稳健点。不想操作图形化界面的可以看第五步,使用Xshell登陆后测试。
在这里插入图片描述
这是虚拟机的IP查看,第一个是VMnet8的ip。ping宿主机是联通的(和windown10不一样的是,它会一直不停,ctrl + z停止)


五、Xshell、Xftp工具使用

在这里插入图片描述
自行下载,没什么需要注意的

在这里插入图片描述
文件 > 新建连接 ,如图是我虚拟机的ip,点击连接,弹出下图
在这里插入图片描述
文件 >输入超级管理员账户root,确定后在新弹窗输入密码即可


六、mysql安装

在这里插入图片描述

我们打开Xftp后我们直接将下载的mysql安装包拖到虚拟机对应的文件下。这里有点慢,右边没展示出虚拟机的文件夹。

.检查mysql是否存在:

rpm -qa|grep -i mysql

删除操作:

yum remove '你mysql文件名'

稳健看看删干净没:

find / -name mysql

查看系统自带的mariadb:

rpm -qa|grep mariadb

卸载自带的mariadb:

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

删除etc目录下的my.cnf:

rm /etc/my.cnf

前序工作完成。
将安装包放在指定位置解压
路径: /usr/local (可以在传安装包的时候直接放在该文件夹下)

解压安装包

tar -xvf  mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

修改解压后的安装包名 (我这个安装包是免安装版链接:提取码:qdtu)

mv mysql-8.0.27-linux-glibc2.12-x86_64/ mysql/

安装包没有放在指定位置的可以用这个,将解压后的文件移动到指定位置并改名

mv mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysql

在/etc创建my.cnf文件

cd /edc  		--进入指定文件
touch my.cnf	--创建配置文件
vim my.cnf		--修改配置文件

将下面的写入配置文件,然后按esc 输入分号wq保存(说明文字可以不删,原样放进去也没问题)

[client]
port = 3306

#根据实际情况调整mysql.sock配置
socket = /tmp/mysql.sock

[mysqld]
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id = 1

#服务端口号 默认3306
port = 3306

#mysql安装根目录
basedir = /usr/local/mysql

#mysql数据文件所在位置
datadir = /usr/local/mysql/data

#pid
pid-file = /usr/local/mysql/mysql.pid

#设置socke文件所在目录
socket = /tmp/mysql.sock

#设置临时目录
tmpdir = /tmp

# 用户
user = mysql
# 允许访问的IP网段
bind-address = 0.0.0.0

#错误日志
log_error=/usr/local/mysql/data/mysql-error.log

#设置认证插件
default_authentication_plugin=mysql_native_password

#设置sqlmode(根据需求自定义)
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

# 跳过密码登录
#skip-grant-tables
 
#主要用于MyISAM存储引擎,如果多台服务器连接一个数据库则建议注释下面内容
skip-external-locking
 
#只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve = 1
 
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
 
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
 
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
 
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
 
#最大连接数
max_connections = 400
 
#最大错误连接数
max_connect_errors = 1000
 
#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true
 
#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet = 128M
 
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
 
#内部内存临时表的最大值 ,设置成128M。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 134217728
max_heap_table_size = 134217728

#mysql binlog日志文件保存的过期时间,过期后自动删除
expire_logs_days = 5

创建组:

groupadd mysql  

创建用户:

useradd -g mysql mysql	

改变权限:

chown -R mysql.mysql /usr/local/mysql

启动项移动对应目录下:

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

初始化mysql:(有的文章说要在改名后mysql文件下mkdir data新建data文件夹,我在CentOS6没建成功了,CentOS7建了也成功了。感觉无所谓,初始化后看看你们有没有文件,有则说明初始化成功 LL查看当前文件夹下所有文件)

./mysqld --initialize --user=mysql

启动mysql服务: (不能启动就重启虚拟机、Xshell重新连接,还不行就参考以下其他大佬的)

service mysql start

登陆mysql: (密码如果没打印出来就去data文件夹下mysql-error.log找,我就不截图了)

./mysql -uroot -p

修改密码: (这里改成root)

alter user 'root'@'localhost' identified by 'root'

查看数据库: (最后看看数据库表)

show databases

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐