事先声明,参考自:http://www.javashuo.com/article/p-boksldmp-m.htmlhtml
撰写此文,纯属是为了便利之后换电脑重装。mysql
Linux:世界上不只只有一个 Windows 操做系统,还有 Linux、mac、Unix 等操做系统。桌面操做系统下 Windows 是霸主,而 Linux 的桌面操做系统用的人不多,由于 Windows 有的不少软件在 Linux 下没有或者很弱;服务器操做系统则反之。Linux 有一个强大的服务器软件生态系统:Docker、Redis、MySQL、Nginx、Hadoop 等等。linux
Linux 内核由 Linus 及开源社区维护,内核包含内存管理、存储管理、进程管理、网络通信等基础模块。不少公司、开源组织基于 Linux 内核打包出了不少“发行版”,不一样的发行版的内核版本可能不一致,包含的软件也不一致,界面差异较大,可是命令行操做都是互通的,大部分程序也是互通的。ios
内核和发行版的关系就像 Android 内核和“小米手机系统、华为手机系统”的关系同样。程序员
经常使用的发行版有 RedHat、CentOS、Debian、Ubuntu 等等。这里咱们用 Ubuntu,由于 Ubuntu 内置的软件最适合程序员,其余发行版要本身装。固然也有一些人钻木取火的人瞧不起用Ubuntu 的人。正则表达式
使用 Linux 最好是在计算机上直接安装 Linux 系统,最起码也是双系统启动。不过担忧初学者搞砸了本身的电脑,并且 Linux 不太适合平常使用。所以咱们使用虚拟机软件在sql
Windows 上虚拟出一台电脑出来,在这台虚拟的电脑上安装 Linux。shell
使用虚拟机的好处:不破坏物理电脑是,随便搞。坏处:不真实、操做卡。数据库
Windows 下的虚拟机软件有 VMWare、Virtual Box、HypverV 等。这里咱们使用开源免费的 Virtual Box。canvas
电脑若是配置太差跑不起虚拟机,只能升级电脑,加内存就差很少。
资源:连接: https://pan.baidu.com/s/13WwgGuGfQgDOGSnN0qaWWA 提取码: mhtk
也能够用VMware:
密钥:YA18K-0WY8P-H85DY-L4NZG-X7RAD
连接: https://pan.baidu.com/s/1c8XIt8hSBFS9HWKNmrO89w 提取码: u8qw
安装方法网上千篇一概,一路 Next 就能够,在此再也不赘述。
资源:连接: https://pan.baidu.com/s/1ZR_5jgzNsGeOrkE6hAqxEA 提取码: qiaf
下面会用到。
1. 新建一个虚拟机。
(须要选 64 位 Ubuntu,不要选成 32 位,由于一些软件不支持 32 位系统。 若是不能选择 32 位的版本,那么说明你的电脑主板没有启用虚拟化,须要进入电脑 bios 设置启用虚拟化。不一样版本主板的启用虚拟化的方法不同,具体请根据你主板的型号去网上搜索。有部分老电脑主板不支持虚拟化,这就没办法了)
2. 虚拟电脑内存至少 2G 才不卡。
3. 建立虚拟硬盘。
4. 配置虚拟机,加载 iso 虚拟光盘文件。
5. 把 iso 文件加载到光驱中(至关于 Linux 安装光盘插入光驱),而后启动虚拟机。直到运行到 Linux 安装画面。
输入安装 Linux 时候设定的密码。
图形化的程序尽可能不要用,在桌面上点右键→打开终端。在不少生产服务器下,是没有装图形化程序的,就是直接命令行界面操做,根本就进不了图形界面。
尽可能不要用图形界面,全部操做均可以在“终端”中完成,所以后续操做都尽可能在“终端”中进行。
也忘了鼠标,别妄想在终端中用鼠标。
不要想“终端中听歌、看电影、上网”,场景不对。
使用习惯
实际上是能够“共享文件夹”在虚拟机和宿主机之间共享文件等操做。可是虚拟机使用 linux 的时候,不要想着还有“宿主机(Host)”,不要想着怎么“共享文件夹”,就把当成两台电脑就能够。共享文件的方式就经过经典的 ftp 跨服务器的等方式,就像两台电脑同样。
能够“共享粘贴板”,可是别这么懒,那就是一台单独的电脑,你怎么复制粘贴? 虚拟硬盘、虚拟光盘(iso)、虚拟内存、虚拟 cpu。虚拟出来的电脑和主机(Host)之间没有直接的联系,也不会互相干扰。
备份
VBox 安装完成后能够作一个“备份”(主菜单【控制】→【生成备份】),这样万一把虚机系统搞乱了还能够还原回来,能够建立多个“备份”,至关于“还原点”。
锁屏
为了不反复锁屏,在设置→亮度和锁屏中关闭“锁屏”;
VBox 窗口能够调整大小,虚拟机中的系统会自动调整分辨率,有的电脑不支持。
网卡
虚拟机的网卡有时候会有问题连不上网,这时候就要在虚拟机的设置中先取消网卡再从新选择网卡,至关于插拔网线。
若是使用 linux 桌面,也有一些图形化文本编辑器(相似于记事本),但 linux 的神级编辑器是 VI,若是连 VI 都不会用就别说会用 linux。
在不少环境下是没有图形界面的,只能用 VI。VI 是全键盘操做,不能用鼠标。固然平常开发仍是在图形界面下使用 VS 等开发,使用 VI 通常是进行简单的修改或者配置文件的修改。
VI 刚接触感受很痛苦,用熟了也挺爽的,VI 命令很是多,初学掌握基本的操做便可。vim 是 VI 的增强版。
命令模式下能够进行行删除等命令的输入(至关于快键键);
插入模式下能够进行文本的输入;
末行模式下是执行保存、退出等指令用。
易混:插入模式下若是直接输入:就是输入:了,所以要先 esc 退出插入模式
还有一个傻瓜化字符界面编辑器 nano,底下提示信息中^X 的意思就是 ctrl+X。不是每一个Linux 上都安装 nano,有时候须要本身装。
linux 下不少软件都是本身下载源代码、本身编译的,有点痛苦。所以不少发行版都有本身的安装包格式。好比 RedHat 使用*.rpm 的文件,Ubuntu 使用*.deb 文件。
本身查找、下载安装仍是很麻烦。所以不少发行版中都提供了相似于应用市场、NuGet 的东西。
Ubuntu 推荐使用 apt 进行下载、安装。会从 ubuntu 官网下载(中国区镜像),若是下载速度慢的话,能够设置从其余镜像下载,具体搜索“Ubuntu apt-get 镜像” 执行某些程序的时候,若是程序没安装,还会提示你,好比执行 vim、tree 等。
安装软件须要 sudo 执行。以下:
虚拟机和主机之间组建了一个局域网,虚拟机经过主机上网。虚拟机的设置的“网络”中能够设置不一样的链接方式。主机能够经过 ifconfig 看到的 ip 地址链接虚拟机的网络。
虚拟机的网络链接方式有不少种,最主要有三种:HostOnly 、NAT、桥接(Bridge)。HostOnly 配置较麻烦,须要懂不少网络工程的东西;NAT 是虚拟机借助于主机网卡访问网络,藏在主机后面,网络中其余设备不能这个虚拟机,连主机都不能,可是虚拟机能链接主机的网络,能上外网;桥接(Bridge)方式则是把虚拟主机也暴露为网络中的一个设备,主机和虚拟主机在网络内是平等的,能够互相访问,可是要求网络中没有设备访问的限制(好比 Mac 地址绑定或者终端个数限制),若是有限制要改路由器的配置。由于我们须要主机和虚拟机互相访问,除非网络有限制,不然最好配置为桥接(Bridge),配置桥接(Bridge)要选择经过哪一个网卡上外网,不能选错了,不然就没法访问外网了。后面咱们都配置为桥接(Bridge)。
虚拟机的 ip 地址可能变化,注意。
运维人员是怎么远程链接到机房上的服务器,不多使用图形界面(卡,没法自动化)远程登陆有专门的通讯协议 telnet, telnet 就是经过网络进行命令行操做服务器。只有服务器端开始了远程登陆服务,客户端才能经过 telnet 协议控制服务器端。
但 telnet 协议使用明文传输数据,这会形成严重的安全性问题,因此如今几乎不推荐使用, 而替代协议是 SSH。SSH 通信过程数据是加密的。
windows 下如何经过 ssh 链接到 linux :下载运行 putty,免安装。
linux下重启网络服务: /etc/init.d/network restart 或者是 /etc/init.d/networking restart
putty登陆SSH终端出现的“Access Denied”提示:只要在Putty的configuration里面Connection-》SSH-》Auth【认证】-》GSSAPI的配置中,去掉默认的Attempt GSSAPI authentication(ssh-2 only) 一项前面的对勾。
若是显示中文乱码,则在 putty 标题栏点击右键,选【change settings】点【Translation】,选 UTF8 编码。
新显示会不乱码,旧显示还会乱码。
后续都经过 ssh 链接操做,这也是平时链接服务器时候的常规操做:windows 下开发,而后部署到 linux 下运行。
用户名:user信息
密码:passworrd信息
登陆:mysql -uuser信息 -ppassword信息
这里是关键点,因为mysql5.7没有password字段,密码存储在authentication_string字段中,password()方法还能用
在mysql中执行下面语句修改密码
use mysql; // 下面这句命令有点长,请注意。 update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost'; update user set plugin="mysql_native_password"; flush privileges; quit;
/etc/init.d/mysql restart; //或者 sudo service mysql restart
mysql -u root -p密码;
sudo apt purge mysql-* sudo rm -rf /etc/mysql/ /var/lib/mysql sudo apt autoremove
# 安装的时候会提示要设置root密码,若是你没有在卸载的时候去清理残留数据是不会提示你去设置root密码的 ,个人就没提示,能够用上面的方法修改密码 sudo apt-get install mysql-client mysql-server #检查mysql是否是在运行 sudo service mysql status #通常安装完成以后都是会自动运行的,若是没有运行能够start sudo service mysql start
主机上链接虚拟机内的 mysql 必定要链接虚拟机的 ip,别连错了。
主机的 ip 若是变了就要从新配置。
什么是 ftp:经过 ftp 进行文件的上传下载
执行 sudo apt-get install vsftpd 命令进行安装
这时候能够用 linux 用户登陆,可以访问/home/用户名的文件夹下。可是没有上传权限。须要 sudo vi /etc/vsftpd.conf 将 write_enable=YES 前面的#取消,而后执行 sudo /etc/init.d/vsftpd restart 重启
Windows 下可使用 FileZilla FTP Client 等 FTP 客户端上传下载
中文会有乱码,不用处理,上传下载比较多的文件都压缩。linux 解压使用 unzip“unzip a.zip”。不要传 rar 等格式。