VM安装CentOS 7安装Mysql8.0.15和Mssq2017
需求介绍
由于开发需要,自己安装了Oracle VM VirtualBox为的是不想让自己的系统盘安装太多的开发软件,(本人之前的开发用的软件都是安装在C盘的【我喜欢将我开发软件安装在C盘!!】,所以导致我120的固态硬盘安装好VS2017+MSSQL2017差不多就没空间了);下面开始直说。
问题跟软件下载地址
- 为什么用Oracle VM VirtualBox,而不用VMware?
个人之前用的是VMware,后来用高版本的发现需要收费所以果断放弃!还有就是VMware里产品多太麻烦!
- 为什么用CentOS,而不用Ubuntu?
我这是做服务器用的,并不需要图像界面!所以简单就好,就用最小版本安装的!
网址都给你们了,至于能不能进,看你造化了(需要翻墙?反正我是vps随便玩的!)
VMware 安装
安装软件都不会的话,那就不用往下看了!
运行可以看到如下图:
这里要说一下,电脑需要【开启虚拟化】,每个人的电脑主板不一样开启的方式也不一样,基本是进入bios去设置【Virtualization Technology = Enabled】即可(VT:虚拟技术=开启),至于怎么设置可以自己根据自己的电脑去配置;ji
VM操作命令
1.查看有哪些虚拟机
VBoxManage list vms
2.查看虚拟的详细信息
VBoxManage list vms --long
3.查看运行着的虚拟机
VBoxManage list runningvms
4.开启虚拟机在后台运行
VBoxManage startvm <vm_name> -type headless
5.开启虚拟机并开启远程桌面连接的支持
VBoxManage startvm <vm_name> -type vrdp
6.改变虚拟机的远程连接端口,用于多个vbox虚拟机同时运行
VBoxManage controlvm <vm_name> vrdpprot <ports>
7.关闭虚拟机
VBoxManage controlvm <vm_name> acpipowerbutton
8.强制关闭虚拟机
VBoxManage controlvm <vm_name> poweroff
具体需要进入安装下的路径里的Vm dos操作,也可以加入系统环境变量了。本人只用了(1、4)的命令
CentOS 7 安装
- 虚拟机搭建:点击新建,输入名称(CentOS其实也就是RedHat[小红帽])下面的选项会自动填写好的,内存选择不少于2048(MSSQL要求内存不少于2G)所以本人选择的是4G,因为系统里还会安装其他的服务器;这里要说一下,电脑配置太低了就不要强求自己了,当然,开发人员不一定会很低的配置;操作如下图片数字操作
- 点击上图4按钮 进入如下图:1的地方不要默认,这个后期跑起来是要占空间的(相当于硬盘里划分一个空间用来安装一个系统),所以记得改;2, 大小你们自己看着办,别弄太小了,然后点击3创建即可;
- 如下图:虚拟机就创建好啦
- 接下来配置启动:1选中刚刚配置的虚拟机,2点击设置(右击里面的设置也是可以的)弹出如下,3点击存储,4选择控制器里面的光盘一样的东西,5,这里就选中你下载本地的Minimal.ISO的位置,6点击ok就行了
- 启动虚拟机:1,选择刚刚的虚拟机 ;2,点击运行(或者右击运行将会弹出虚拟机如3);3,用上下键选择3的那个选项,注意这里颜色有bug,白色的就是选中状态(懂点英文的就行了_),Install CentOS 7=安装CentOS7; 下面选项是先检查测试环境再安装;只有回车就行其他的就交给系统,你就等着好啦。
- 如下图等待后的就成这样:这边你用鼠标点也可以,用上下左右+tab选择自己喜欢的语言,我以简体中文为例,毕竟我中文要不英文好,如下点击继续 l
- 会有点慢,之后会弹出如下图 : 这里因为是下载最小的所以绿色的自动会给你配置为最小安装,1,这里需要配置2个地方如1,2,需要配置,3的话等安装位置配置好了自动会变成蓝色,不然就不能进行下一步的;
点击【1】配置如下图:因为之前有16G空间,所以直接选择就好了,选中,点【完成】;
点击【2】网络配置如下图:这里先配置好就不需要后期到系统里配置上网问题了,系统里配置太麻烦了点;如图,选择打开,点击完成即可
以一下就是配置好系统的安装路径以及网络点击开始安装;
- 如图,可以看到系统正在配置安装:上面的选项还需要填写不然无法进行,这里的话我们就不用创建用户了,点击ROOT密码配置密码就行了,用root用户(多爽)超级管理员,如下面【10】说明;
- 我们点击ROOT密码弹出如下图,完成后,【9】里面的红色提示就没有了,就等着系统安装完成:
- 等待如下图:点击重启即可
- 重启之后要求输入root+密码:因为只有root用户,密码是看不到的,如下图:此处为已经登陆
到这里ContOS服务器基本就?了,
当前虚拟是nat网络是可以【ping @www.baidu.com】(去@) ping通百度的;但是不能虚拟机跟宿机ping所以开发的时候就有问题了,下面再跟大家说说如何配置可以平通本主机又可以上网(比较重要)因为在安装东西的时候必须需要网络,之后开发又需要在局域网中用,所以你懂的!!这里可以自己下个SSH连接一下,以上虚拟机就放到后台运行就好,至于ssh怎么弄?讲了网络配置就讲一下如何配置SSH;
先说说配置网络,能够什么都通
- 首先打开自己的网络配置,查看一番:1,右击属性,2,点击以太网,3,点击详情,4记录详情数据,(我这里就不打码了,看的更懂一些)
- 虚拟机里如图:1,选择需要配置的机子,设置(右击设置也行);2,选择网络;3,连接方式选中桥接网卡;4,选中宿机的网卡,也就是上图详情里面描述的网卡;5,Ok;
- 之后再配置自己主机的网络为手动的,不要自动获取如下图:1,点击【更改适配器配置】弹出2的界面;2,点击以太网(也就是你能接入外网的)右击属性,看到如3的界面;3,选中Ipv4的,点击【4】属性,如5;5更改属性如第一个说明图片那些详情数据之后点击确定保存;
- 重启虚拟机:运行如下图 这样表示,虚拟机跟主机是统一网络
- ping测试,基本这样就算是ojbk了;这是我的,你们自己配置的需要自己记住,s_S
- 这里是感谢【dyou.fun的博客】点击学习 dyou.fun的博文 【 VirtualBox下安装CentOS7系统】 学习了别人的是要感谢别人的,我知道写博客不容易,本片博文到这里我基本用来半天时间,下面还有内容估计还需要很长时间!!
再说说配置SSH
-
用什么工具?如下图我是用这个(家庭/学校)版本
-
怎么弄到?地址【点击申请下载】自己先邮箱申请在从自己邮箱去下载安装
-
什么样子?如下图
-
点击如上图会弹出;填写名称(随便写);主机填写刚刚配置的那台虚拟机的IP,说明可以要也可以不要;点击连接;端口就是22 协议选择ssh
-
如下图进行下一步,第一个是【一次性接受】以后连接就可以直接连了,不用再输入密码什么的了 是
-
输入用户名 root
-
接下来是要求输入密码
-
自动会连接上去,如下图(表示已经可以了,下面我有几台连接过的记录,)
-
那下面就讲如何在CentOS7上安装Mysql,(因为mysql暂用的内存比较小,我们从这入手)
CentOS7上安装Mysql8.0.15
-
这里想要看看官方安装教程,地址MySQL安装;这里是官网的,看着有点难受,看不懂再看我的跟着我的步伐走!
-
先是找到包地址【点击这里包地址】,点击下载,
-
复制下载的连接如下图:(右击复制链接地址)
-
在ssh里输入如下图片:这里提示的是没有wget,那我们就先安装,
-
安装wget:因为有网络我们可以直接运行
yum install -y wget
-
接下来我们在重新将mysql包下载:如下图:
wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
-
如何就是如下图:
sudo yum localinstall mysql80-community-release-el7-2.noarch.rpm
-
因为第一次安装mysql 我这里就不检查是否已经有安装包了,
-
如何就是安装服务端,执行下面的代码,期间需要下载(500M左右),根据网络速度来,所以你就等吧,如下图:
yum install -y mysql-community-server
-
启动服务:因为是CentOS7,所以使用代码
systemctl start mysqld.service
-
查看运行状态:下面为绿色(running)表示运行中(跟着文章来应该是不会有问题的,如果!有那再看一遍,),使用代码
service mysqld status
-
初次启动修改默认密码:首先查找出初始密码如下图:使用代码
grep 'temporary password' /var/log/mysqld.log
也可进入/var/log/mysqld.log
用vim查看,此时你会发现vim未找到密令!那你就用vi看出好啦vi /var/log/mysqld.log
; vi是系统自带的,所以不需要安装,看到的只有黑白字,所以安装vimyum install vim
;(实际上还是黑白的_如果是代码就会有高亮效果)。下面可以看到我的(root用户)初始化密码是。。。。。这里 的root是mysql里的用户,并不是CentOS的root,都是指最高权限用户!!!!
2019-04-09T01:38:27.119244Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 2nU&z#mZZa=N
-
进入Mysql修改root密码:运行代码
mysql -uroot -p
之后要求输入密码之后出现mysql>就表示登陆成功进入mysql了,(如果不修改初始化密码的话mysql服务器将不允许其他操作) -
如果不修改就会出现下图红色框里的提示;下面为修改的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'younewpassword';
这里你的密码需要复杂点,不然又要改mysql密码配置; -
之后退出再登陆试试!,退出(exit)->登陆(mysql -uroot -p)->查看版本(\s),基本?、
-
因为现在我们的虚拟机配置的网络IP跟主机是在同一个局域网,所以我们还需要配置,mysql授权其他机器登陆,不然的话我们的主机不能访问到虚拟机CentOS7里mysql 的服务器,也是瞎搞,当时自己是用了半天才弄明白!【小弟不才】,因为CentOS7里面很多都命令都不一样了,如防火墙,服务器启动的密令等;这里需要提一下。将到这里需要感谢【Silentdoer】他的文章
-
如下图:
show databases;
显示库->use mysql
使用库mysql->select user,host from user
查询用户->update user set host = '%' where user = 'root';
修改为%,(注意’'我就写错了!)是 -
之后运行
alter user 'root'@'%' identified with mysql_native_password by 'younewpassword'
授权;为了保险再运行flush privileges
-
退出MySQL ;再开启CentOs7 防火墙端口;
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --add-port=3306/udp --permanent
firewall-cmd --reload
为了保险再重新mysql服务systemctl restart mysqld.service
查看运行状态service mysqld status
也可以用systemctl status mysqld.service
(推荐用) -
接下来就用主机的mysql工具链接试试,我用的vs code ,里安装了mysql的插件,还有猥琐死丢丢也是欧克了
-
基本就完事了;{不推荐使用此方法!!!}期间可以看看【感谢suchcl】的博文理解一下【centos7下没有iptables】,我们这里直接用19那里说的密令就好!,如果自己安装了
iptables
那就还要vim /etc/sysconfig/iptables
编辑 添加开放端口-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
只有还要重启防火墙:
service iptables restart
CentOS7上安装MSSQL
- 这里想要看看官方安装教程,地址MSSQL安装;这个比较好理解!跟教程一直走,这里安装的是mssql 2017
- 下载 Microsoft SQL Server 2017 Red Hat 存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
- 运行以下命令,安装 SQL Server:
sudo yum install -y mssql-server
这里需要根据网络来,大概有不到200M - 程序包安装完成后,请运行 mssql-conf setup 命令并按提示设置 SA 密码,然后选择版本。
sudo /opt/mssql/bin/mssql-conf setup
- 配置完成后,请验证服务是否正在运行
systemctl status mssql-server
- 若要允许远程连接,请在 RHEL 上打开防火墙上的 SQL Server 端口。 默认的 SQL Server 端口为 TCP 1433。 如果对防火墙使用 FirewallD,可以使用以下命令:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
- 基本ok了,我们用主机链接工具测试一下,还是vscode 跟猥琐死丢丢:vscode 看的不直观,用vs2017内置工具看看
- 到这里基本就欧克了,如果想装B在服务器上写那就要在服务器上安装 SQL Server 命令行工具
- 下载 Microsoft Red Hat 存储库配置文件。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
- 因为我们是第一次安装,不需要删除之前的什么包,直接运行
sudo yum install -y mssql-tools unixODBC-devel
- 为方便起见,请将 /opt/mssql-tools/bin/ 添加到 PATH 环境变量。 这样就可以在运行工具时不指定完整路径。 请运行以下命令,以便修改登录会话和交互/非登录会话的 PATH:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
- 测试一下,登陆:使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 SA,密码是在安装过程中为 SA 帐户提供的密码。
sqlcmd -S localhost -U SA -P ·'<YourPassword>'
如果成功,应会显示 sqlcmd 命令提示符:1>。
13.在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:CREATE DATABASE TestDB
在新行中键入 GO 才能执行这个mysql 里以;为结束执行一样意思吧; - 查询以返回服务器上所有数据库的名称:
SELECT Name from sys.Databases
- 在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:
USE TestDB
- 创建名为 Inventory 的新表:
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
- 将数据插入新表:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
- 查询数据
select * from inventory
- 基本欧克,退出(quit,exit)
- VM里安装CentOS 7并且安装Mysql8.0.15和Mssq2017欧克了,花费了我1天+的时间写的!!!!!
- 所有感谢都已经在文章写入!!!
- 虚拟机别开太多了,高配置的虚拟机更加不要开!!!
- 文中错别字,将就的看就行!!
- 拿着上班时间写的!你们看着办