【Linux操作】国产Linux服务管理操作

【Linux操作】国产Linux服务管理操作

  • 前言
  • SAMBA配置
    • 服务器端
      • 1. 安装相关包
      • 2. 配置/etc/samba/smb.conf,在此文件末尾添加如下内容,并保存退出。
      • 3. 创建/home/share并更改权限
      • 4. 启动samba服务
    • 客户端
        • • Windows客户端
        • • 麒麟客户端
  • Telnet
    • 1、telnet语法
    • 2服务端
      • 1. 安装相关软件
      • 2. 配置xinetd,修改/etc/xinetd.conf,添加如下内容
      • 3. 配置telnet,
      • 4. 重启xinetd服务
    • 3客户端
      • 1. 安装telnet包
      • 2. 访问服务端
  • VNC
    • 1 VNC协议
    • 2 显示协议
    • 3 输入协议
    • 4 VNC工作流程
    • 5 VNC命令
    • 6 VNC实例
  • Mysql
    • 1 Mysql服务器端
      • 1. 服务器端安装及启停
      • 2. 服务器端配置
    • 2 mysql客户端
      • 1. 客户端安装
      • 2. 客户端使用

前言

了解LInux系统samba、telnet、vnc、mysql服务及配置;samba服务配置及实例;telnet服务配置及实例;VNC服务配置及实例;mysql服务配置及实例;

SAMBA配置

Samba是基于SMB/CIFS网络协议的重新实现的一个免费软件,包括服务端和客户端。SMB是Server Messages Block的缩写,是一种在局域网上共享文件和打印机的一种通信协议,为局域网内的不同计算机之间提供文件和打印机等资源的共享服务。

服务器端

服务端安装相关包并做相应配置。此处假设服务器端的ip为192.168.103.51

1. 安装相关包

sudo apt-get install samba

2. 配置/etc/samba/smb.conf,在此文件末尾添加如下内容,并保存退出。

[share]
comment=this is kylin share directory
path=/home/share
create mask=0777                      
directory mask=0777                  
public=yes
writable=yes
available=yes

只有在设置writable=yes时,create mask和directory mask的设置才会生效。
smb.conf文件中配置基本格式为key=value,接下来介绍一下smb.conf文件中常用的参数:
表 1 smb.conf常用选项

参数 说明
force user=username 强制将登录samba后的用户设置为username,若不指定则登录用户为nobody
create mask 创建文件的权限,未指定此参数时,新创文件权限默认为0744,若设置权限,create mask中组或其他用户如果有x权限,则默认会将x权限去掉。如create mask=0655,实际创建文件则为0644
force create mode 此参数默认为0000,若设置了此参数,则是将create mask获取的权限再与force create mode权限做或运算,如以上create mask=0655,force create mode=0711,则实际权限为0755
directory mask 此参数默认为0755,若设置了参数则按此参数的权限创建文件夹,如设置为0777,则创建的目录权限为0777
forece directory mode 此参数默认为0000,与directory mask的权限做合并操作,如directory mask=0664,force directory mode=0755,那么创建的目录权限为0775

smb.conf文件中[share]中括号中的字符串可以自定义,这个标签即为后续客户端访问时需要带上的路径,如此处使用的是[share],则客户端访问为smb://192.168.103.51/share,若为[public]则客户端访问smb://192.168.103.51/public,以此类推。

3. 创建/home/share并更改权限

sudo mkdir /home/share
sudo chmod 777 /home/share

4. 启动samba服务

sudo /etc/init.d/samba start

客户端

麒麟操作系统上配置了samba服务后,可在windows或麒麟系统上访问此共享文件。

• Windows客户端

打开文件浏览器,在地址栏处输入\ip\share,此处ip为samba服务器的ip,即192.168.103.51,回车即可访问麒麟系统共享的文件夹/home/share。

• 麒麟客户端

使用文件浏览器连接到samba服务器之前我们需要先安装samba客户端软件。
安装smbclient包

sudo apt-get install smbclient

图形化连接到samba服务器端:打开文件浏览器,在地址栏输入smb://192.168.103.51/share,回车,见图 1。需要在弹框处输入用户名和密码。 图形化访问不需要安装smbclient安装包,这里顺序要不要调整一下。
【Linux操作】国产Linux服务管理操作_第1张图片

图 1 samba客户端访问麒麟samba服务器端
除了图形化连接smba服务器来实现文件共享之外,我们还可以通过smbclient在终端下进行共享文件的操作。
smbclient语法格式:smbclient service ,常用选项见表 1。
表 1 smbclient常用选项

参数 说明
-?或–help 提供关于帮助的打印信息
-U username 指定以username用户登录到smb服务器端
-L 打印远程主机可用的共享文件夹列表
-W/–workgroup=WORKGROUP 设置工作域的名称

命令行连接samba服务器的命令见下,-U为指定用户,此处为kylin。

smbclient  //192.168.103.51/share  -U  kylin

详细连接信息见图 2。
【Linux操作】国产Linux服务管理操作_第2张图片

图 2 smbclient命令行连接
进入smb命令行后,我们就可以在共享文件夹中进行上传下载等操作。常用命令如下。
表 2 smb命令行

参数 说明
cd [目录] 切换smb服务器端的目录到指定目录,如未指定,则smbclient返回当前服务器端的目录
lcd [目录] 切换客户端到指定的目录。客户端在哪个目录下登录服务器端,登录后仍在此路径下,切换的路径为相对路径时,需以此为对照。
ls 列出服务器端当前目录下的所有文件
get file file1 从服务器上下载file,并重命名为file1存放在客户端,若无file1则以当前名称下载到客户端
mget file file1 file2 下载多个文件,每个文件下载前会提示是否下载,输入y表示下载,输入n或直接回车为不下载
mkdir 目录md 目录 在服务器上创建目录,如未成功,可检查服务器端对应目录的权限
put file1 [file2] 向服务器上传文件file1,如有file2,则是将file1更名为file2到服务器上
mput file file1 file3 向服务器上批量上传文件,上传每个文件时会提示是否上传,输入y表示上传,直接回车或输入n为不上传

下载和批量上传操作见图 3。
【Linux操作】国产Linux服务管理操作_第3张图片

图 3 下载和批量上传

Telnet

Telnet是用来在互联网或局域网使用虚拟终端来完成远程连接的一种协议,它是TCP/IP协议族中的一员。Telnet协议目的是提供一个相对通用的双向的,面向八位字节的通信方法。应用telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。
我们知道通过telnet协议可在多个操作系统间进行远程交互操作,而不同操作系统间的数据表示及命令又不尽相同。为了解决这些数据和命令被远程机器正确接收和理解,telnet协议定义了数据和命令在internet上的传输方式,我们把这种传输方式称为网络虚拟终端NVT(Net Virtual Terminal)。
用户用telnet传送数据时,将本地数据转换成NVT格式,远程机器接收后再转换成远程机器上对应的格式进行存储。
而用户用telnet传送命令时,将普通字符按照NVT格式按照其原始含义传送,而用户键入的为快捷键时,NVT则将它转化成特殊的ASCII字符传送到远程机器,最后再转化为相应的控制命令。

1、telnet语法

telnet的语法格式为:telnet [-4] [-6] [-8] [-E] [-L] [-a] [-d] [-e char] [-l user]
[-n tracefile] [ -b addr ] [-r] [host-name [port]]
参数说明见表 3。
表 3 telnet参数说明

参数 说明
-4 强制使用IPv4地址解析
-6 强制使用IPv6地址解析
-8 允许使用8位字符操作,包括输入与输出,默认情况下非8位字符
-E 禁用转义字符功能,也就是说将转义字符设置为“no character”
-a 尝试自动登录远端系统
-b address 在本地套接字上使用bind(2)将其绑定到指定的本地地址address上
-d 将调试切换的初始值设置为true
-r 模拟rlogin
-S tos 设置IP服务类型(TOS)选项设置为值tos
-e escapechar 指定转义字符为escapechar。telnet连接后输入转义字符会进入telnet命令模式
-l user 指定user为远程登录时的用户
-n tracefile 指定tracefile记录相关跟踪信息
host 指定此主机来进行远程连接
port 指定连接的端口号

2服务端

要使其他系统使用telnet连接到本机,必须做一些客户端配置。

1. 安装相关软件

sudo apt-get install telnetd xinetd

2. 配置xinetd,修改/etc/xinetd.conf,添加如下内容

        instances = 60                  //同一服务同时连接数最多为60
        log_type = SYSLOG authpriv          //登录信息会被记录到相关文件/var/log/auth.log
        log_on_success = HOST PID          //登录成功记录客户端主机名和PID
        log_on_failure = HOST              //登录失败记录客户端主机名
        cps = 25 3                         //设置同一秒最大连接数为25,如果超过该服务暂时停止3秒

如图 4。
【Linux操作】国产Linux服务管理操作_第4张图片

图 4 xinetd.conf配置

3. 配置telnet,

创建/etc/xinetd.d/telnet文件,文件内容见下:

 service telnet
       {
         disable = no                   //必须设置为no,否则无法连接
         instances =UNLIMITED           //实例不限制
         nice =0
         flags = REUSE
         socket_type = stream             //使用TCP的封包格式
         wait = no
         server = /usr/sbin/in.telnetd           //使用这个命令
         log_on_failure += USERID            //如果登录失败,记录客户端信息
        }

4. 重启xinetd服务

 sudo /etc/init.d/xinetd restart

3客户端

客户端要访问telnet服务端需要安装telnet包后再访问。

1. 安装telnet包

 sudo apt-get install telnet

2. 访问服务端

 telnet  192.168.103.51

连接示例见图 5。
【Linux操作】国产Linux服务管理操作_第5张图片

图 5 telnet连接示例
使用参数-e,指定转移符为%,输入用户名密码后,命令行输入符号%即会进入telnet命令模式:

kylin@kylin-PC:~/桌面$ telnet -e % 192.168.103.51
Telnet escape character is '%'.
Trying 192.168.103.51...
Connected to 192.168.103.51.
Escape character is '%'.
Kylin 4.0.2
Kylin login: kylin
Password:
......
kylin@Kylin:~$     <——此行输入%回车后即进入telnet命令模式
telnet>            <——telnet命令模式,上行符号%会被擦除

【注】root无法以telnet登录系统,这是由于telnet会引用login的PAM模块,而login的验证阶段会有/etc/securetty文件的限制。root用户只能通过安全终端登录,而远程连接属于pts/n(n为数字)的动态终端接口设备名称,此设备名并未写入到/etc/securetty中,所以root是无法通过telnet远程登录系统的。

VNC

VNC即为虚拟网络控制台,英文全称为Virtual Network Computing,是一款远程控制软件。它能将完整的窗口界面通过网络,传输到另一台计算机屏幕上。VNC软件由VNC server和VNC viewer两部分组成。

1 VNC协议

VNC是基于RFB(Remote Frame Buffer)协议进行通信的。RFB称为远程帧缓冲,是一个远程访问图形用户接口的简单协议。由于此协议工作在帧缓存级别,因此它适用于所有桌面系统和应用,包括X11、windows以及Macintosh。
用户所在的一端成为RFB客户端,而帧缓存变化的一端被称为RFB服务端。
RFB完全是一个瘦客户协议。协议设计的重点就是减少对客户端的要求。因此客户端可以运行在多种硬件上,实现客户端的任务尽可能的简单。
RFB协议使得客户端是“无状态”的。如果一个客户端和服务器端断开连接,之后再次连接到此服务器,用户的会话不会被关闭,状态会一直保持。不同的客户端可以连接到同一服务器,提供给用户端的都是统一的相似的视图。

2 显示协议

RFB协议的显示部分基于一个简单的画图原理,即“将一个矩形块的像素点放在给定位置(X,Y)上”。在不同的参数下(如网络带宽、客户端计算速度和服务器处理的速度等等),可以动态选择灵活的编码方式,这样一来,一系列的矩形块就组成了一个帧缓冲更新。一个帧缓冲更新描述了帧缓冲从一个状态到另一状态的变化情况。只有在客户端请求更新时,服务器端才会向客户端发送更新。客户端以及网络速度越慢,更新率就会降低。

3 输入协议

输入协议是基于键盘和多键鼠标设备的标准工作站模型。当用户敲下键盘或鼠标,或移动鼠标时,客户端把这些输入事件按照RFB规定的格式简单的传送给服务器。输入事件可以由其他非标准I/O设备产生,如手写板。接收到输入事件后,服务器就会进行相应处理。

4 VNC工作流程

前面我们已经知道,VNC分为服务器端和客户端。在VNC server安装在被远程控制的计算机后,可在客户端通过VNC viewer进行远程操控。
VNC服务端与客户端的工作流程见图 6。
【Linux操作】国产Linux服务管理操作_第6张图片

图 6 VNC工作流程
由上图可知,VNC工作流程详细步骤见下:

  1. 服务器端启动VNC server;
  2. VNC客户端启动VNC viewer连接到VNC server;
  3. VNC server将对话窗口发送至客户端,要求客户端输入连接密码;
  4. VNC viewer输入VNC server的连接密码后,将密码发送至VNC server;
  5. VNC server端通过密码验证后,则通过X Protocol将X server画面的显示控制权交由VNC server;
  6. VNC server将X server桌面环境利用VNC通信协议发送至客户端
  7. VNC客户端获取VNC server端的桌面环境、输入控制及显示控制权;

5 VNC命令

本章主要介绍vncserver、vncviewer及vncpasswd命令。
• vncserver命令
此命令在VNC服务器上运行。用来启动或停止VNC服务器。
vncserver启动语法格式:

vncserver [:display#] [-name desktop-name] [-geometry widthxheight]  [-depth depth ] [-pixelformat format] [Xvnc-options.....]

vncserver停止语法格式:

vncserver -kill :display#

vncserver运行时可以不添加参数,这种情况下就会默认选择第一个可用的显示编号,通常情况下为:1。当然也可以使用指定的显示编号,这种情况下如果此编号有效则会使用此显示编号,如果不存在,则会退出,如vncserver :10。
Vncserver的默认端口为5900,每个显示桌面的编号其实对应的就是端口号,比如显示编号为:1,那么对应的端口号即为5901,以此类推。
vncserver的配置文件为~/.vnc/xstartup,修改此配置文件可以改变vncserver的属性。需要强调一点,修改此文件不会影响之前已经存在的vncserver桌面。此外vnc密码文件以及启动的所有显示桌面相关日志及.pid文件都在~/.vnc/下,“KaTeX parse error: Expected 'EOF', got '#' at position 23: …nc/host:display#̲.pid”和“HOME/.vnc/host:display#.log”分别是启动的显示桌面对应的pid文件和日志文件,如kylin:1.pid及kylin:1.log。“$HOME/.vnc/passwd”即为vnc密码文件。
vncserver常用选项见表 4。
表 4 vncserver常用选项

参数 说明
-name desktop-name 每个显示桌面都有一个名字。默认情况下为“host:display#(username)”,如kylin-PC:1 (kylin)
-geometry widthxheight 指定桌面的大小,默认为1024x768,可以通过此选项设置窗口大小,如vncserver -geometry 1360x768
-depth depth 指定像素显示桌面的像素深度,默认情况下为16。还可以设置其他值,比如8,15和24。
-pixelformat rgbNNN bgrNNN
-kill :display# 指定要停止display#这个编号的vnc桌面。如vncserver -kill :1,即停止编号为1的vnc显示桌面。

vncserver端需修改配置才能正常显示,修改~/.vnc/xstartup,在文末加上以下内容:

mate-session &

修改保存后再启动vncserver服务。
• Vncviewer命令
Vncviewer是VNC的X视图的一个客户端。用来连接到远程服务器并显示其桌面。使用vncviewer需要提前获取到vncserver的密码。
Vncviewer的命令格式:

vncviewer [options] [host][:display]
vncviewer [options] [host][::port]
vncviewer [options] -listen [display]
vncviewer -help

Vncviewer常用选项见表 5。
表 5 vncviewer常用选项

参数 说明
-help 在终端打印使用方法
-listen [display#] 表示监听来自服务器的反向连接,默认监听5500端口,也可使用端口参数,如vncviewer -listen 3则表示监听5503端。WinVNC使用“添加新客户端”菜单选项支持反向连接
-viewonly 禁用客户端鼠标和键盘事件传送到服务器的功能,默认关闭
-passwd passwd-file 指定连接时的密码文件为passwd-file,也就是说如果将服务器端密码发送到客户端,使用此选项时,就可以不必输入密码,正确的密码文件则会直接连接,而错误密码文件则认证失败断开连接
-encodings encoding-list TightVNC支持几种不同的压缩方法来编码显示桌面的屏幕更新,此选项可以指定优先使用一组方法,如果有多个编码方法,可以使用空格分隔,且这一组编码方法必须使用引号括起来。默认可用的编码为“copyrect tight hextile zlib corre rre raw”
-bgr233 一直使用BGR233格式来编码像素数据
-fullscreen 开启全屏显示模式。这个模式下有可能会造成输入焦点的错误处理或使窗口突然消失。解决输入焦点问题,可以参照grabKeyboard设置。默认关闭
-depth depth 服务器上支持多个像素深度,指定客户端显示桌面的像素深度为depth值

• vncpasswd命令
vncpasswd是用来修改VNC密码的命令。对应的密码文件则为$HOME/.vnc/passwd。Vncserver第一次运行来启动VNC桌面的时候则会调用vncpasswd来设置VNC密码。指定的密码至少6个字符,最长为8个字符。需要注意的是存储的密码并未经过安全加密,也就是说任何有权限访问此文件的用户都可以轻易找到明文密码,所以vncpasswd需要设置适当的权限。
vncpasswd语法格式:

`vncpasswd [passwd-file]`

运行vncpasswd时,不加参数passwd-file,则会默认修改 H O M E / . v n c / p a s s w d 文件,而指定 p a s s w d − f i l e 则会更新此文件下的密码。当然如果在 v n c v i e w e r 连接时默认还是去匹配 HOME/.vnc/passwd文件,而指定passwd-file则会更新此文件下的密码。当然如果在vncviewer连接时默认还是去匹配 HOME/.vnc/passwd文件,而指定passwdfile则会更新此文件下的密码。当然如果在vncviewer连接时默认还是去匹配HOME/.vnc/passwd的密码,要使用指定的密码文件需要使用-passwd参数。

6 VNC实例

• Vnc服务端
Vnc服务端有多种相关包如tightvncserver、vnc4server。本章我们以tightvncserver为例。
安装相关包:

sudo apt-get install tightvncserver

启动vncserver:

vncserver

第一次执行见图 7。
【Linux操作】国产Linux服务管理操作_第7张图片

图 7 启动vncserver
也可指定显示编号来启动vncserver:

vncserver  :8

详细信息见图 8。
【Linux操作】国产Linux服务管理操作_第8张图片

图 8 指定显示编号启动vncserver
如果需要关闭:8的显示桌面,则执行以下命令:

vncserver -kill :8

执行过程及显示信息见图 9。
在这里插入图片描述

图 9 停止:8显示桌面
• VNC客户端
这里我们也安装xtightvncviewer。

sudo apt-get install xtightvncviewer

连接vnc服务器端编号为:1的显示桌面:

vncviewer 192.168.103.50:1

详细信息见图 10。
在这里插入图片描述

图 10 vncviewer连接服务器端
在密码出输入密码即可连接到vnc服务器端的桌面。

Mysql

MySQL是目前最流行的关系型数据库管理系统(关系型数据库管理系统是Relational Database Management System,简写RDBMS),由Oracle公司开发、分发和支持。关系型数据库将数据存储在单独的表中,而不是将所有的数据放在一个大型库中。你可以设置管理不同数据域之间关系的规则,比如一对一,一对多,唯一,必须或可选,以及不同表之间的指针。数据库强制执行这些规则,因此使用设计良好的数据库,用户的应用程序则永远不会出现不一致,重复,孤立,过时或丢失数据的情况。
麒麟系统当前默认集成的版本为5.7。而最新版本的MySQL相关信息可以到http://www.mysql.com/获取。
关系性数据库管理系统RDBMS的特点:

  1. 数据以表格的形式出现;
  2. 每行为各种记录名称;
  3. 每列为记录名称所对应的数据域;
  4. 许多的行和列组成一个表单;
  5. 若干表单组成database;

1 Mysql服务器端

MySQL包含服务端和客户端。

1. 服务器端安装及启停

服务器端需要安装mysql-server,麒麟服务器操作系统默认已经安装,但此处我们还是介绍一下如何安装:

sudo apt-get install mysql-server

安装过程中需要输入mysql的“root”密码。
启动、停止及查看mysql服务

sudo service mysql status          //查看mysql服务状态
sudo service mysql start           //启动mysql服务
sudo service mysql stop        //停止/etc/mysql/mysql.conf.dmysql服务

2. 服务器端配置

Mysql-server的配置文件为/etc/mysql/mysql.cnf、/etc/mysql/conf.d/目录及/etc/mysql/mysql.conf.d/下相关文件。在日常工作中,我们经常遇到需要修改数据库配置来解决问题的情况,如数据库中必然会用到中文字符,默认配置下,会出现乱码情况,这个时候我们就需要修改相关配置啦。
/etc/mysql/mysql.cnf除注释外的配置文件见下:

 !includedir /etc/mysql/conf.d/
 !includedir /etc/mysql/mysql.conf.d/           

这两行表示导入/etc/mysql/conf.d/和/etc/mysql/mysql.conf.d/下所有的.cnf文件。
这里重点给大家介绍/etc/mysql/mysql.conf.d/mysqld.cnf。

 [mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size         = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries       = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id              = 1
#log_bin                        = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size   = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem             

• 最大连接数
麒麟操作系统目前默认集成的为mysql5.7版本,最大的连接数默认为151,如要修改最大连接数可以修改/etc/mysql/mysql.conf.d/mysqld.cnf,将max_connections修改成想要的数值,这里假设为200,保存退出后,需要重启mysql服务。我们来查看一下是否修改成功,见图 11。
【Linux操作】国产Linux服务管理操作_第9张图片

图 11 mysql最大连接数
• 忘记密码
在忘记密码情况下,还可以通过设置mysql来跳过密码验证直接登录到mysql。还是修改/etc/mysql/mysql.conf.d/mysqld.cnf文件,添加skip-grant-tables,见图 12。
【Linux操作】国产Linux服务管理操作_第10张图片

图 12 忘记密码
修改后保存退出,重启mysql服务。再次连接输入错误密码或不输入密码就能直接进入mysql,见图 13。
【Linux操作】国产Linux服务管理操作_第11张图片

图 13 mysql跳过密码验证
• 开放mysql服务端远程连接
Mysql服务端默认情况下仅能本地连接。我们可以通过修改配置文件来开放远程连接。依然是mysqld.cnf文件。用“#”注释以下内容,重启mysql服务即可远程连接。

bind-address           = 127.0.0.1

再进入mysql,将root用户授权给所有连接,输入以下命令:

grant all privileges on *.* to 'root'@'%' identified by '123123';
flush privileges;

【注】第一行命令中的root为mysql客户端连接时需要使用的的用户名,123123为root用户的密码,也就是说客户端使用root和对应的密码即可成功连接到此mysql服务器,而使用其他用户仍无法连接到数据库服务器;第二行命令使第一行命令生效。
具体操作见图 14。
【Linux操作】国产Linux服务管理操作_第12张图片

图 14 mysql开放远程连接
以上操作都完成后,在mysql客户端执行mysql -h server_ip -uroot -p123123即可连接到数据库。Server_ip为数据库服务端的ip。

2 mysql客户端

1. 客户端安装

客户端需要安装mysql-client,麒麟服务器操作系统默认已经安装,但此处我们还是介绍一下如何安装:

sudo apt-get install mysql-client

2. 客户端使用

连接服务器端使用mysql命令,mysql语法格式为:

mysql [options] db_name

若不指定db_name,则默认不选择任何数据库。
mysql常用选项见表 6。
表 6 mysql常用选项

参数 说明
-h hostname 指定想要连接的mysql服务器的主机名
-u username 指定连接到mysql服务器的用户名
-p [password] 指定登录用户名对应的密码
-P port 指定端口号,默认端口为3306

• 连接本地数据库
连接本地mysql服务端:

mysql  -uroot  -p

以上是指使用root用户登录到mysql数据库,如未配置跳过密码登录的情况下,回车之后需输入root用户的密码。以上命令与以下命令效果一致:

mysql  -u root  -p

也可直接指定登录密码,此处假设root密码为123123,如:

mysql  -uroot  -p123123

• 连接远程数据库
服务器端开放远程登录后,可在其他主机上远程连接到mysql数据库,此处假设数据库服务器ip为192.168.103.51:

mysql -h 192.168.103.51  -uroot  -p123123

• mysql备份还原
Mysql备份使用的命令为mysqldump,由mysql-client包提供,语法格式为:

 mysqldump [options] [db_name [tbl_name ...]]

mysqldump常用选项见表 7。
表 7 mysqldump常用选项

参数 说明
-h hostname 指定想要连接的mysql服务器的主机名
-u username 指定连接到mysql服务器的用户名
-p [password] 指定登录用户名对应的密码
-P port 指定端口号,默认端口为3306
–all-databases 指定备份所有数据库
-databases db_name 指定备份db_name数据库

更多mysqldump用法,请查看man手册。

本地备份所有数据库:

mysqldump -uroot -p --all-databases >allbackupfile.sql

远程备份数据库:

mysqldump -h192.168.103.51 -uroot -p123123 --all-databases > alldatabase.sql

备份某指定数据库dbtest,此处为备份tbtest和tbtest1两个表:

mysqldump -uroot -p123123 dbtest tbtest tbtest1 >tb-backup.sql

压缩备份的数据库文件:

mysqldump -uroot -p --all-databases | gzip >bakcupall-gz.sql.gz

所有详细操作见图 15。
【Linux操作】国产Linux服务管理操作_第13张图片

图 15 备份操作
还原某数据库:

mysql -uroot -p123123 dbtest.list

还原所有数据库:

mysql -uroot -p123123 .sql 

还原压缩的数据库,此处是还原所有数据库:

gunzip < bakcupall-gz.sql.gz | mysql -uroot -p

你可能感兴趣的:(Linux,linux,运维,服务器,samba,vnc,telnet,mysql)