mysql读写分离(如何利用amoeba实现mysql数据库的读写分离)

2026-09-12 00:30:02 0

mysql读写分离(如何利用amoeba实现mysql数据库的读写分离)

大家好,关于mysql读写分离很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何利用amoeba实现mysql数据库的读写分离的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

如何利用amoeba实现mysql数据库的读写分离


关于mysql的读写分离架构有很多,百度的话几乎都是用mysql_proxy实现的。由于proxy是基于lua脚本语言实现的,所以网上不少网友表示proxy效率不高,也不稳定,不建议在生产环境使用;
amoeba是阿里开发的一款数据库读写分离的项目(读写分离只是它的一个小功能),由于是基于java编写的,所以运行环境需要安装jdk;
相关教程:mysql视频教程
前期准备工作:
1.两个数据库,一主一从,主从同步;
master: 172.22.10.237:3306 ;主库负责写入操作;
slave: 10.4.66.58:3306 ; 从库负责读取操作;
amoeba: 172.22.10.237:8066 ; 我把amoeba安装到了主库所在的服务器,当然,你也可以安装到第三台服务器上;
所有服务器操作系统均为centos7;
2.在amoeba所在的服务器上配置安装jdk;
我安装的是jdk1.8;
路径是: JAVA_HOME=/usr/local/java/jdk1.8.0_131
以上务必自己点搭建、配置好,主从正常工作,添加jdk环境变量: /etc/profile ;
安装amoeba的方式有很多,这里就不在安装上面费口舌了,我下载了amoeba-mysql-3.0.5-RC-distribution的安装包,直接解压即可使用;
解压目录: /usr/local/amoeba/
很明显 conf里是配置文件,bin里是启动程序;
刚才说到 amoeba的功能可不止读写分离,但如果只用读写分离功能的话只需要配置这几个个文件即可: conf/dbServers.xml conf/amoeba.xml 和 bin/launcher ;
conf/dbServers.xml :
`《property name="port"》3306《/property》
#设置Amoeba要连接的mysql数据库的端口,默认是3306
《property name="schema"》testdb《/property》
#设置缺省的数据库,当连接amoeba时,操作表必须显式的指定数据库名,即采用dbname.tablename的方式,不支持 use dbname指定缺省库,因为操作会调度到各个后端dbserver
《property name="user"》test1《/property》
#设置amoeba连接后端数据库服务器的账号和密码,因此需要在所有后端数据库上创建该用户,并授权amoeba服务器可连接
《property name="password"》111111《/property》
《property name="maxActive"》500《/property》#最大连接数,默认500
《property name="maxIdle"》500《/property》#最大空闲连接数
《property name="minIdle"》1《/property》#最新空闲连接数
《dbServer name="writedb" parent="abstractServer"》#设置一个后端可写的数据库,这里定义为writedb,这个名字可以任意命名,后面还会用到
《property name="ipAddress"》172.22.10.237《/property》 #设置后端可写dbserver的ip
《dbServer name="slave01" parent="abstractServer"》#设置后端可读数据库
《property name="ipAddress"》10.4.66.58《/property》
《dbServer name="myslave" virtual="true"》#设置定义一个虚拟的dbserver,实际上相当于一个dbserver组,这里将可读的数据库ip统一放到一个组中,将这个组的名字命名为myslave
《property name="loadbalance"》1《/property》#选择调度算法,1表示复制均衡,2表示权重,3表示HA, 这里选择1
《property name="poolNames"》slave01《/property》#myslave组成员`conf/amoeba.xml :
#启动脚本,需要配置jdk环境变量;
#在注释后的第一行添加:
JAVA_HOME=/usr/local/java/jdk1.8.0_131launcher 是启动脚本,如果不配置JAVA_HOME的话,即便你在/etc/profile中配置了环境变量也可能会报错:没有配置jdk环境变量;
还有一个配置文件: jvm.properties
#占用内存配置文件
# -Xss参数有最小值要求,必须大于228才能启动JVM
#修改:
JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss256k -XX:PermSize=16m -XX:MaxPermSize=96m"有经验的运维都知道,凡是和jdk沾上边的,基本都会和内存的调优有关系,amoeba也不例外;
现在可以启动了:
启动后就可以看到本机的8066端口:
这时,你只需要通过本机ip的8066端口和你配置文件中设置的账号密码来连接数据库就行了,写入的数据都会到master里,读取的数据都会从slave中读取;
测试:
关闭master数据库,依然可以读取:执行 select 查看命令;
或者
关闭slave数据库,依然可以写入: 执行 update、inster命令;

mysql的读写分离和主从复制的区别在哪里

读写分离的意思是,写入的时候向 a 服务器写入,而读出的时候从 b c d 甚至更多的服务器读出;这样的架构适合于读多写少的应用,最典型的就是火车购票系统,一般我们买票的时候要先查询好多次,包括车次啊,时间啊,这都是读操作,而最后可能只买一张车票,这是写操作;做了读写分离之后,可以将资源分配到最合理的地方,不会使某些资源闲置,而另一些资源不够用;
但是读写分离必然引发主从复制,试想一共有 10 张票,买了 1 张票,读的时候如果还是读到 10 张余票就不对了,因此需要主从复制,再读的时候,就只能读到 9 张余票了;

mysql读写分离和用Redis做缓存,这两种方案有什么异同

读写分离一般都是结合Master/Slave模式使用,Master处理写请求,Slave处理读请求,这样做的好处是:
1、提高数据库的并发处理能力;
2、避免写请求锁表阻塞读请求;
3、避免单点,提高数据库的可用性;
而使用Redis作为DB前面的缓存,是为了减少对MySQL的压力,提高系统的处理效率。
二者解决的问题域不同,不存在谁替代谁。
一般高并发应用都是结合二者使用。

mysql读写分离实现要多少台主机

两台
Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。
因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。
如下图所示:
下面是我在实际工作过程中所整理的笔记,在此分享出来,以供大家参考。
一、MySQL的安装与配置
值得一提的是,我的安装过程都是源码包编译安装的,并且所有的配置与数据等都统一规划到了/opt/mysql目录中,因此在一台服务器上安装完成以后,可以将整个mysql目录打包,然后传到其它服务器上解包,便可立即使用。
二、MySQL主从复制
场景描述:
主数据库服务器:192.168.10.130,MySQL已经安装,并且无应用数据。
从数据库服务器:192.168.10.131,MySQL已经安装,并且无应用数据。
2.1 主服务器上进行的操作
启动mysql服务
/opt/mysql/init.d/mysql start
通过命令行登录管理MySQL服务器
/opt/mysql/bin/mysql -uroot -p’new-password’
授权给从数据库服务器192.168.10.131
mysql》 GRANT REPLICATION SLAVE ON *.* to ’rep1’@’192.168.10.131’ identified by ‘password’;
查询主数据库状态
Mysql》 show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 | 261 | | |
+------------------+----------+--------------+------------------+
记录下 FILE 及 Position 的值,在后面进行从服务器操作的时候需要用到。
2.2 配置从服务器
修改从服务器的配置文件/opt/mysql/etc/my.cnf
将 server-id = 1修改为 server-id = 10,并确保这个ID没有被别的MySQL服务所使用。
启动mysql服务
/opt/mysql/init.d/mysql start
通过命令行登录管理MySQL服务器
/opt/mysql/bin/mysql -uroot -p’new-password’
执行同步SQL语句
mysql》 change master to
master_host=’192.168.10.130’,
master_user=’rep1’,
master_password=’password’,
master_log_file=’mysql-bin.000005’,
master_log_pos=261;
正确执行后启动Slave同步进程
mysql》 start slave;
主从同步检查
mysql》 show slave status\G
==============================================
**************** 1. row *******************
Slave_IO_State:
Master_Host: 192.168.10.130
Master_User: rep1
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000005
Read_Master_Log_Pos: 415
Relay_Log_File: localhost-relay-bin.000008
Relay_Log_Pos: 561
Relay_Master_Log_File: mysql-bin.000005
Slave_IO_Running: YES
Slave_SQL_Running: YES
Replicate_Do_DB:
……………省略若干……………
Master_Server_Id: 1
1 row in set (0.01 sec)
==============================================
其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
如果主服务器已经存在应用数据,则在进行主从复制时,需要做以下处理:
(1)主数据库进行锁表操作,不让数据再进行写入动作
mysql》 FLUSH TABLES WITH READ LOCK;
(2)查看主数据库状态
mysql》 show master status;
(3)记录下 FILE 及 Position 的值。
将主服务器的数据文件(整个/opt/mysql/data目录)复制到从服务器,建议通过tar归档压缩后再传到从服务器解压。
(4)取消主数据库锁定
mysql》 UNLOCK TABLES;
2.3 验证主从复制效果
主服务器上的操作
在主服务器上创建数据库first_db
mysql》 create database first_db;
Query Ok, 1 row affected (0.01 sec)
在主服务器上创建表first_tb
mysql》 create table first_tb(id int(3),name char(10));
Query Ok, 1 row affected (0.00 sec)
在主服务器上的表first_tb中插入记录
mysql》 insert into first_tb values (001,’myself’);
Query Ok, 1 row affected (0.00 sec)
在从服务器上查看
mysql》 show databases;
=============================
+--------------------+
| Database |
+--------------------+
| information_schema |
| first_db |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.01 sec)
=============================
数据库first_db已经自动生成
mysql》 use first_db
Database chaged
mysql》 show tables;
=============================
+--------------------+
| Tables_in_first_db |
+--------------------+
| first_tb |
+--------------------+
1 row in set (0.02 sec)
=============================
数据库表first_tb也已经自动创建
mysql》 select * from first_tb;
=============================
+------+------+
| id | name |
+------+------+
| 1 | myself |
+------+------+
1 rows in set (0.00 sec)
=============================
记录也已经存在
由此,整个MySQL主从复制的过程就完成了,接下来,我们进行MySQL读写分离的安装与配置。
三、MySQL读写分离
场景描述:
数据库Master主服务器:192.168.10.130
数据库Slave从服务器:192.168.10.131
MySQL-Proxy调度服务器:192.168.10.132
以下操作,均是在192.168.10.132即MySQL-Proxy调度服务器 上进行的。
3.1 MySQL的安装与配置
具体的安装过程与上文相同。
3.2 检查系统所需软件包
通过 rpm -qa | grep name 的方式验证以下软件包是否已全部安装。
gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmcrypt* libtool* flex* pkgconfig*
libevent* glib*
若缺少相关的软件包,可通过yum -y install方式在线安装,或直接从系统安装光盘中找到并通过rpm -ivh方式安装。
3.3 编译安装lua
MySQL-Proxy的读写分离主要是通过rw-splitting.lua脚本实现的,因此需要安装lua。
lua可通过以下方式获得
下载源码包
从rpm.pbone.net搜索相关的rpm包
download.fedora.redhat.com/pub/fedora/epel/5/i386/lua-5.1.4-4.el5.i386.rpm
download.fedora.redhat.com/pub/fedora/epel/5/x86_64/lua-5.1.4-4.el5.x86_64.rpm
这里我们建议采用源码包进行安装
cd /opt/install
wget hz
tar zvfx lua-5.1.4.tar.gz
cd lua-5.1.4
vi src/Makefile
在 CFLAGS= -O2 -Wall $(MYCFLAGS) 这一行记录里加上-fPIC,更改为 CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS) 来避免编译过程中出现错误。
make linux
make install
cp etc/lua.pc /usr/lib/pkgconfig/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig
3.4 安装配置MySQL-Proxy
MySQL-Proxy可通过以下网址获得:
推荐采用已经编译好的二进制版本,因为采用源码包进行编译时,最新版的MySQL-Proxy对automake,glib以及libevent的版本都有很高的要求,而这些软件包都是系统的基础套件,不建议强行进行更新。
并且这些已经编译好的二进制版本在解压后都在统一的目录内,因此建议选择以下版本:
测试平台为RHEL5 32位,因此选择32位的软件包
wget
tar xzvf mysql-proxy-0.8.1-linux-rhel5-x86-32bit.tar.gz
mv mysql-proxy-0.8.1-linux-rhel5-x86-32bit /opt/mysql-proxy
创建mysql-proxy服务管理脚本
mkdir /opt/mysql-proxy/init.d/
vim mysql-proxy
01 #!/bin/sh
02 #
03 # mysql-proxy This script starts and stops the mysql-proxy daemon
04 #
05 # chkconfig: - 78 30
06 # processname: mysql-proxy
07 # description: mysql-proxy is a proxy daemon to mysql
08
09 # Source function library.
10 . /etc/rc.d/init.d/functions
11
12 #PROXY_PATH=/usr/local/bin
13 PROXY_PATH=/opt/mysql-proxy/bin
14
15 prog="mysql-proxy"
16
17 # Source networking configuration.
18 . /etc/sysconfig/network
19
20 # Check that networking is up.
21 && exit 0
22
23 # Set default mysql-proxy configuration.
24 #PROXY_OPTIONS="--daemon"
25 PROXY_OPTIONS="--admin-username=root --admin-password=password --proxy-read-only-backend-addresses=192.168.10.131:3306 --proxy-backend-addresses=192.168.10.130:3306 --admin-lua-script=/opt/mysql-proxy/lib/mysql-proxy/lua/admin.lua --proxy-lua-script=/opt/mysql-proxy/scripts/rw-splitting.lua"
26 PROXY_PID=/opt/mysql-proxy/run/mysql-proxy.pid
27
28 # Source mysql-proxy configuration.
29 if ; then
30 . /etc/sysconfig/mysql-proxy
31 fi
32
33 PATH=$PATH:/usr/bin:/usr/local/bin:$PROXY_PATH
34
35 # By default it’s all good
36 RETVAL=0
37
38 # See how we were called.
39 case "$1" in
40 start)
41 # Start daemon.
42 echo -n $"Starting $prog: "
43 $NICELEVEL $PROXY_PATH/mysql-proxy $PROXY_OPTIONS --daemon --pid-file=$PROXY_PID --user=mysql --log-level=warning --log-file=/opt/mysql-proxy/log/mysql-proxy.log
44 RETVAL=$?
45 echo
46 if ; then
47 touch /var/lock/subsys/mysql-proxy
48 fi
49 ;;
50 stop)
51 # Stop daemons.
52 echo -n $"Stopping $prog: "
53 killproc $prog
54 RETVAL=$?
55 echo
56 if ; then
57 rm -f /var/lock/subsys/mysql-proxy
58 rm -f $PROXY_PID
59 fi
60 ;;
61 restart)
62 $0 stop
63 sleep 3
64 $0 start
65 ;;
66 condrestart)
67 && $0 restart
68 ;;
69 status)
70 status mysql-proxy
71 RETVAL=$?
72 ;;
73 *)
74 echo "Usage: $0 {start|stop|restart|status|condrestart}"
75 RETVAL=1
76 ;;
77 esac
78
79 exit $RETVAL
脚本参数详解:
==============================================
PROXY_PATH=/opt/mysql-proxy/bin //定义mysql-proxy服务二进制文件路径
PROXY_OPTIONS="--admin-username=root \ //定义内部管理服务器账号
--admin-password=password \ //定义内部管理服务器密码
--proxy-read-only-backend-addresses=192.168.10.131:3306 \ //定义后端只读从服务器地址
--proxy-backend-addresses=192.168.10.130:3306 \ //定义后端主服务器地址
--admin-lua-script=/opt/mysql-proxy/lib/mysql-proxy/lua/admin.lua \ //定义lua管理脚本路径
--proxy-lua-script=/opt/mysql-proxy/scripts/rw-splitting.lua" \ //定义lua读写分离脚本路径
PROXY_PID=/opt/mysql-proxy/run/mysql-proxy.pid //定义mysql-proxy PID文件路径
$NICELEVEL $PROXY_PATH/mysql-proxy $PROXY_OPTIONS \
--daemon \ //定义以守护进程模式启动
--keepalive \ //使进程在异常关闭后能够自动恢复
--pid-file=$PROXY_PID \ //定义mysql-proxy PID文件路径
--user=mysql \ //以mysql用户身份启动服务
--log-level=warning \ //定义log日志级别,由高到低分别有(error|warning|info|message|debug)
--log-file=/opt/mysql-proxy/log/mysql-proxy.log //定义log日志文件路径
==============================================
cp mysql-proxy /opt/mysql-proxy/init.d/
chmod +x /opt/mysql-proxy/init.d/mysql-proxy
mkdir /opt/mysql-proxy/run
mkdir /opt/mysql-proxy/log
mkdir /opt/mysql-proxy/scripts
配置并使用rw-splitting.lua读写分离脚本
最新的脚本我们可以从最新的mysql-proxy源码包中获取
cd /opt/install
wget
tar xzvf mysql-proxy-0.8.1.tar.gz
cd mysql-proxy-0.8.1
cp lib/rw-splitting.lua /opt/mysql-proxy/scripts

mysql读写分离一般用什么做

Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysqlinstance(我们称之 Slave)。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端。
MySQL 复制的基本过程如下:
1. Slave 上面的IO线程连接上 Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;
2. Master 接收到来自 Slave 的 IO 线程的请求后,通过负责复制的 IO 线程根据请求信息读取指定日志指定位置之后的日志信息,返回给 Slave 端的 IO 线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在 Master 端的 BinaryLog 文件的名称以及在 Binary Log 中的位置;
3. Slave 的 IO 线程接收到信息后,将接收到的日志内容依次写入到 Slave 端的Relay Log文件(mysql-relay-bin.xxxxxx)的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master- info文件中,以便在下一次读取的时候能够清楚的高速Master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”
4. Slave 的 SQL 线程检测到 Relay Log 中新增加了内容后,会马上解析该 Log 文件中的内容成为在 Master 端真实执行时候的那些可执行的 Query 语句,并在自身执行这些 Query。这样,实际上就是在 Master 端和 Slave 端执行了同样的 Query,所以两端的数据是完全一样的。

OK,关于mysql读写分离和如何利用amoeba实现mysql数据库的读写分离的内容到此结束了,希望对大家有所帮助。

mysql读写分离(如何利用amoeba实现mysql数据库的读写分离)

本文编辑:admin

更多文章:


apache不能在本地计算机启动(关于“Windows不能在本地计算机启动Apache2.并参考特定服务错误代码1“问题解决)

apache不能在本地计算机启动(关于“Windows不能在本地计算机启动Apache2.并参考特定服务错误代码1“问题解决)

大家好,如果您还对apache不能在本地计算机启动不太了解,没有关系,今天就由本站为大家分享apache不能在本地计算机启动的知识,包括关于“Windows不能在本地计算机启动Apache2.并参考特定服务错误代码1“问题解决的问题都会给大

2026年1月4日 19:00

deepin开机的四个选项(win10和deepin双系统怎样设置启动项)

deepin开机的四个选项(win10和deepin双系统怎样设置启动项)

各位老铁们好,相信很多人对deepin开机的四个选项都不是特别的了解,因此呢,今天就来为大家分享下关于deepin开机的四个选项以及win10和deepin双系统怎样设置启动项的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看

2026年3月2日 15:45

insert into 和select into(select into from和insert into select都是用来复制表,两者有什么区别)

insert into 和select into(select into from和insert into select都是用来复制表,两者有什么区别)

大家好,如果您还对insert into 和select into不太了解,没有关系,今天就由本站为大家分享insert into 和select into的知识,包括select into from和insert into select都

2026年3月18日 16:00

deficiency词源(minus的详细意思minus的详细意思是什么)

deficiency词源(minus的详细意思minus的详细意思是什么)

“deficiency词源”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看deficiency词源(minus的详细意思minus的详细意思是什么)!本文目录minus的详细意思minus的详细意思是什么deficiency

2026年9月23日 15:30

mysql workbench怎么运行sql文件(如何使用MySQL Workbench导入.sql文件)

mysql workbench怎么运行sql文件(如何使用MySQL Workbench导入.sql文件)

大家好,关于mysql workbench怎么运行sql文件很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何使用MySQL Workbench导入.sql文件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解

2025年5月23日 03:00

conduct动词造句(初中英语scientists ____(conduct)a survey on how to protect the wildlife inthe coming new year)

conduct动词造句(初中英语scientists ____(conduct)a survey on how to protect the wildlife inthe coming new year)

“conduct动词造句”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看conduct动词造句(初中英语scientists ____(conduct)a survey on how to protect the wildl

2026年3月28日 14:15

webpack缺点(如何理解webpack文档中对AMD缺点的描述)

webpack缺点(如何理解webpack文档中对AMD缺点的描述)

大家好,如果您还对webpack缺点不太了解,没有关系,今天就由本站为大家分享webpack缺点的知识,包括如何理解webpack文档中对AMD缺点的描述的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录如何理解we

2026年9月10日 12:30

discuz采集插件(火车头采集的数据怎么发布在discuz网站)

discuz采集插件(火车头采集的数据怎么发布在discuz网站)

“discuz采集插件”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看discuz采集插件(火车头采集的数据怎么发布在discuz网站)!本文目录火车头采集的数据怎么发布在discuz网站discuz怎么安装插件让自己的Di

2025年11月7日 09:30

web服务器安全防护(如何保证Web服务器安全)

web服务器安全防护(如何保证Web服务器安全)

“web服务器安全防护”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看web服务器安全防护(如何保证Web服务器安全)!本文目录如何保证Web服务器安全网络安全防范措施主要有哪些Web服务器端的安全措施有哪些web服务器可能

2025年8月1日 04:15

accommodation theory名词解释(带sion后缀的单词~~快快快!)

accommodation theory名词解释(带sion后缀的单词~~快快快!)

“accommodation theory名词解释”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看accommodation theory名词解释(带sion后缀的单词~~快快快!)!本文目录带sion后缀的单词~~快快快!

2026年7月27日 18:15

建站什么程序好(建网站用哪个软件最佳)

建站什么程序好(建网站用哪个软件最佳)

各位老铁们,大家好,今天由我来为大家分享建站什么程序好,以及建网站用哪个软件最佳的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录建网站用哪个软件最佳

2026年1月16日 09:30

htmlcssjs软件下载手机(前端div+css怎么放到手机里面查看效果)

htmlcssjs软件下载手机(前端div+css怎么放到手机里面查看效果)

“htmlcssjs软件下载手机”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看htmlcssjs软件下载手机(前端div+css怎么放到手机里面查看效果)!本文目录前端div+css怎么放到手机里面查看效果只能在手机上面打

2026年2月9日 05:00

centos7怎么安装yum(CentOS7 配置 yum 源和 epel 源)

centos7怎么安装yum(CentOS7 配置 yum 源和 epel 源)

大家好,如果您还对centos7怎么安装yum不太了解,没有关系,今天就由本站为大家分享centos7怎么安装yum的知识,包括CentOS7 配置 yum 源和 epel 源的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧

2025年11月6日 00:30

面向对象程序设计是java吗(Java是一种面向对象的编程语言吗)

面向对象程序设计是java吗(Java是一种面向对象的编程语言吗)

本篇文章给大家谈谈面向对象程序设计是java吗,以及Java是一种面向对象的编程语言吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录Java是一种面向对象的编程语言吗Java语言和C语言都是面向对象的程序设计语言Java是一

2025年7月24日 13:45

linux配置与管理web服务器(高分请教如何搭建Linux下的web服务器)

linux配置与管理web服务器(高分请教如何搭建Linux下的web服务器)

本篇文章给大家谈谈linux配置与管理web服务器,以及高分请教如何搭建Linux下的web服务器对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本

2025年12月1日 02:00

vfp中的常用函数(求Visual Foxpro常用数值函数)

vfp中的常用函数(求Visual Foxpro常用数值函数)

大家好,关于vfp中的常用函数很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于求Visual Foxpro常用数值函数的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所

2026年4月7日 23:15

bath词性变化(淋浴的词性淋浴的词性是什么)

bath词性变化(淋浴的词性淋浴的词性是什么)

其实bath词性变化的问题并不复杂,但是又很多的朋友都不太了解淋浴的词性淋浴的词性是什么,因此呢,今天小编就来为大家分享bath词性变化的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录淋浴的词性淋浴的词性是什么b

2026年4月11日 09:00

淘宝智能版导航代码(求淘宝店铺导航条代码,半透明状态的如下图)

淘宝智能版导航代码(求淘宝店铺导航条代码,半透明状态的如下图)

今天给各位分享求淘宝店铺导航条代码,半透明状态的如下图的知识,其中也会对求淘宝店铺导航条代码,半透明状态的如下图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录求淘宝店铺导航条代码,半透明状态的如下图淘宝导航条

2026年1月29日 13:00

shady是什么意思(Eminem为什么又叫slim shady,什么意思)

shady是什么意思(Eminem为什么又叫slim shady,什么意思)

“shady是什么意思”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看shady是什么意思(Eminem为什么又叫slim shady,什么意思)!本文目录Eminem为什么又叫slim shady,什么意思谁知道Emine

2025年9月24日 14:15

冒险岛n8数据库管理工具(冒险岛架设数据库怎么弄)

冒险岛n8数据库管理工具(冒险岛架设数据库怎么弄)

“冒险岛n8数据库管理工具”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看冒险岛n8数据库管理工具(冒险岛架设数据库怎么弄)!本文目录冒险岛架设数据库怎么弄冒险岛n8是什么《冒险岛》SF架设方法是什么怎样用冒险岛gm管理工具

2026年4月2日 20:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索