【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安装包,这里顺序要不要调整一下。
图 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。
图 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。
图 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。
图 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。
图 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。
图 6 VNC工作流程
由上图可知,VNC工作流程详细步骤见下:
- 服务器端启动VNC server;
- VNC客户端启动VNC viewer连接到VNC server;
- VNC server将对话窗口发送至客户端,要求客户端输入连接密码;
- VNC viewer输入VNC server的连接密码后,将密码发送至VNC server;
- VNC server端通过密码验证后,则通过X Protocol将X server画面的显示控制权交由VNC server;
- VNC server将X server桌面环境利用VNC通信协议发送至客户端
- 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文件,而指定passwd−file则会更新此文件下的密码。当然如果在vncviewer连接时默认还是去匹配HOME/.vnc/passwd的密码,要使用指定的密码文件需要使用-passwd参数。
6 VNC实例
• Vnc服务端
Vnc服务端有多种相关包如tightvncserver、vnc4server。本章我们以tightvncserver为例。
安装相关包:
sudo apt-get install tightvncserver
启动vncserver:
vncserver
第一次执行见图 7。
图 7 启动vncserver
也可指定显示编号来启动vncserver:
vncserver :8
详细信息见图 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的特点:
- 数据以表格的形式出现;
- 每行为各种记录名称;
- 每列为记录名称所对应的数据域;
- 许多的行和列组成一个表单;
- 若干表单组成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。
图 11 mysql最大连接数
• 忘记密码
在忘记密码情况下,还可以通过设置mysql来跳过密码验证直接登录到mysql。还是修改/etc/mysql/mysql.conf.d/mysqld.cnf文件,添加skip-grant-tables,见图 12。
图 12 忘记密码
修改后保存退出,重启mysql服务。再次连接输入错误密码或不输入密码就能直接进入mysql,见图 13。
图 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。
图 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。
图 15 备份操作
还原某数据库:
mysql -uroot -p123123 dbtest<dbtestbackup.list
还原所有数据库:
mysql -uroot -p123123 <allbackupfile.sql
还原压缩的数据库,此处是还原所有数据库:
gunzip < bakcupall-gz.sql.gz | mysql -uroot -p