간단한 찾기 및 바꾸기를 수행하는 SQL 쿼리
-
-
검색어에 익숙하지 않은 경우 검색 및 바꾸기 플러그인 (http://wordpress.org/extend/plugins/search-and-replace/)을 사용해보세요.If you're not familiar with queries try the Search and Replace plugin, http://wordpress.org/extend/plugins/search-and-replace/
- 0
- 2011-01-26
- t31os
-
WordPress 기능을 사용하여 URL을 업데이트하지 않는 이유는 무엇입니까? http://codex.wordpress.org/Moving_WordPress는 모든 것을 자세히 설명합니다.Why not use WordPress functionality to update the URL? http://codex.wordpress.org/Moving_WordPress details everything
- 0
- 2014-11-18
- Alex Older
-
이를위한 플러그인이 있습니다.백엔드를 편안하게 사용할 수 있으며 원하는 경우 게시물 콘텐츠 및 기타 필드의 URL을 대체합니다. https://wordpress.org/plugins/better-search-replace/There is a plugin for this. It allows comfortable use of the backend and also replaces the URL in the post-content and some other fields, if you want to: https://wordpress.org/plugins/better-search-replace/
- 0
- 2015-07-23
- simonthesorcerer
-
7 대답
- 투표
-
- 2011-01-25
URL이 저장되는 테이블은 wp_options입니다.사이트의 URL을 사용하는 열을 업데이트해야합니다.
UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "siteurl" UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "home"
일부 값이 누락되었을 수 있지만이 찾기/바꾸기 프로세스를 다시 수행 할 때마다 업데이트해야하는 값과 테이블을 확인하고이 스크립트에 추가 할 수 있습니다.
WordPress Codex는 사이트 URL을 변경하는 방법에 대한 유용한 가이드를 제공합니다. 사이트 URL 변경
The table where your URL is saved is wp_options. You should do an update on the columns that use the URL for your site:
UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "siteurl" UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "home"
I might be missing some value, but whenever you do this find/replace process again, you can notice the values and tables that should be updated and add them to this script.
WordPress Codex has a nice guide on how to change a site URL, maybe that's even handier for you: Changing the Site URL
-
전체 데이터베이스에서 찾기/바꾸기를 수행하는 방법이 없습니까?즉 ... 미디어 라이브러리를 포함하여 여러 다른 위치에서 URL을 교체해야한다는 것을 알았습니다 .... 기본적으로 모든 필드에 대해 전체 데이터베이스에 대한 찾기/바꾸기가 있으면이 문제가 해결됩니다.문제.당신의 도움을 주셔서 감사합니다is there not a way to do a find/replace on the entire database? In other words... I noticed for example that I need to replace the URLs in a bunch of different locations including the media library.... If there was a find/replace for the entire database essentially for every field then this would solve the problem. Thanks for your help
- 1
- 2011-01-25
- NetConstructor.com
-
내가 답변에 추가 한 새 링크를 확인하십시오.나는 그것이 갈 길이라고 생각합니다.Check out that new link I added on the answer. I think that would be the way to go.
- 0
- 2011-01-25
- Fernando Briano
-
직렬화 된 데이터에는 작동하지 않습니다.일부 테마 구성이 완전히 깨질 수 있습니다.This will not work for serialized data. It might completely break some theme configuration.
- 2
- 2017-10-17
- Christian Lescuyer
-
- 2011-01-25
권장 사항 옵션,게시물,게시물 콘텐츠 및 게시물 메타 :
UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com');
phpMyAdmin 및 MySQL을 사용하여 데이터 검색| Packt Publishing. 그리고 Search RegEx 는 좋은 WP 플러그인입니다. 모든 게시물과 페이지를 검색하고 Grep로 교체합니다.
2015 년 6 월 16 일 업데이트 : 다음 문장에 링크 된 도구를 사용하는 것이 훨씬 낫습니다. 데이터베이스 덤프에서 위와 같이 간단한 찾기/바꾸기가 직렬화 된 데이터를 손상시키기 때문입니다. interconnectit.com WordPress Serialized PHP 검색 바꾸기 도구 를 참조하세요. a> 이렇게하면 상호 연결 스크립트가 모든 곳에서 URL을 변경하므로 직렬화 된 데이터를 손상시키지 않고 게시물 콘텐츠에서 RegEx를 실행할 필요가 없습니다. 저는 항상이 도구를 사용하여 사이트를 다른 도메인으로 마이그레이션하거나 http에서 https로 전역 변경을 수행하여 플러그인없이 SSL을 강제하고 안전하지 않은 요소 오류를 방지하기 위해 콘텐츠의 모든 URL을 변경합니다.
Best to do options, posts, post content and post meta:
UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com');
Also see Searching Data using phpMyAdmin and MySQL | Packt Publishing. And Search RegEx is a good WP plugin to be able to search and replace with Grep through all posts and pages.
Update 6/16/2015: Using the tool linked in the next sentence is much better, as a simple find/replace as above in a database dump will break serialized data. See interconnectit.com WordPress Serialized PHP Search Replace Tool. This way, you don't break serialized data and won't need to run RegEx on post content, as the interconnect script changes URLs everywhere. I use that tool all the time to migrate sites to different domains, or to simply do a global change from http to https to force SSL without plugins and change all URLs in content to prevent insecure element errors.
-
새 도메인으로 이동하더라도guid를 변경하지 마십시오.게시물을 새 데이터베이스로 내보내거나 가져 오는 경우 ID가 변경 될 수 있으므로 게시물을 고유하게 식별하는 데 사용됩니다.우선 RSS 리더는 GUID를 사용하여 특정 기사를 읽었는지 여부를 알려줍니다.GUID를 변경하면 모든 기사가 효과적으로 다시 게시됩니다.Don't ever change the guid - even if going to a new domain. It's used to uniquely ID the post as the ID can change if the posts are being exported/imported into a new database. For one thing, RSS readers will use the GUID to tell if a particular article has been read or not. Changing the guid will effectively republish all your articles.
- 2
- 2012-06-16
- Taylor Dewey
-
@taylordewey가 말했습니다 : "GID를 변경하지 마십시오 ..."쓰레기.@taylordewey said: "Don't ever change the guid..." Rubbish.
- 0
- 2012-06-17
- markratledge
-
@songdogtech Care가 설명하는 * 왜 * 쓰레기입니까?@songdogtech Care to explain *why* it is rubbish?
- 1
- 2013-03-06
- shea
-
도메인을 변경하는 경우 선택의 여지가 없으며 GUID를 변경해야합니다.RSS 리더의 낙진은 최소한의 비용입니다.If you're changing domains, you simply don't have a choice and have to change GUIDs. Fallout from RSS readers is a minimal price to pay.
- 0
- 2015-11-06
- markratledge
-
GUID를 변경해야하는 이유는 무엇입니까?Why would one _have_ to change the GUID?
- 1
- 2016-08-11
- kaiser
-
GUID에는 URL이 포함되어 있지만 게시물을 참조 할 때 링크 (예 : 메뉴)를 만드는 데 사용되지 않습니다.그래서 그것들을 바꾸지 않는 것은 완벽하게 받아 들여집니다.Despite GUID's containing a url, they aren't used to create links (for example in menu's) when referencing posts. And so _not_ changing them is perfectly acceptable
- 0
- 2017-05-27
- Chris
-
직렬화 된 데이터에는 작동하지 않습니다.일부 테마 구성이 완전히 깨질 수 있습니다.실제로 Interconnect/IT와 같은 도구를 사용하십시오.This will not work for serialized data. It might completely break some theme configuration. Indeed use a tool such as Interconnect/IT’s.
- 1
- 2017-10-17
- Christian Lescuyer
-
- 2011-08-02
이것은 내가 사용하는 훌륭한 드롭 인 스크립트이며 WP가 옵션을 저장하는 데 사용하는 직렬화 된 배열과 함께 아름답게 작동합니다.작업이 끝나면 원격 서버에서 삭제해야합니다. 이는 엄청난 보안 위험이 있기 때문입니다.
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
This is a great drop-in script that I use and it works beautifully with the serialized arrays that WP uses to store options. Just make sure to delete it from your remote server when you're done because it's a HUGE security risk.
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
-
내가 왜 -1 이었는지 모르겠다.이 스크립트는 SQL 문보다 훨씬 낫습니다.피드백을주세요.I don't know why I was -1'd. This script is much better than a SQL statement. Feedback please?
- 2
- 2011-08-03
- lancemonotone
-
SQL을 모르는 사람들이 사용할 수있는 도구는 SQL을 작성하는 사람들에게 당황 스럽습니다.a tool that people who dont know sql can use, is upsetting to those who write in sql
- 1
- 2013-06-23
- Jon
-
- 2016-04-27
이 작업을 위해 WP-CLI 를 사용합니다.직렬화 된 데이터를 처리합니다.
wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid
실제 데이터베이스를 조작하는 대신 SQL 파일에 변경 사항을 기록하는 옵션도 있습니다.
wp search-replace foo bar --export=database.sql
For this I use WP-CLI because I find it the easiest and it takes care of serialized data.
wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid
There is also an option that writes your changes into an SQL file instead of manipulating the actual database:
wp search-replace foo bar --export=database.sql
-
지금까지 가장 강력하고 빠른 솔루션입니다.wp-cli는 하루를 다시 한 번 저장합니다.by far the most robust and fastest solution. wp-cli saves the day once again
- 1
- 2018-06-19
- ryanrain
-
- 2011-01-25
이 작업을 수행 할 필요는 없으며 상대 경로를 사용할 수 있습니다.
subdomain.soemthing.com/image.jpg 대신 무언가를 연결하는 경우-예를 들어/image.jpg 사용
이렇게하면 애초에 문제에 직면하지 않을 것입니다.
그렇지 않으면mysql 업데이트 문을 사용할 수 있습니다.
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);
you do not have to do this , you can use relative paths.
when you are linking something instead of subdomain.soemthing.com/image.jpg - use /image.jpg for example
like this you won't face the problem in the first place.
otherwise for a mysql update statement you can use
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);
-
고마워 ... 네 다음에 할게요.SQL 문은 전체 데이터베이스 (모든 테이블 포함)에서 대체를 찾습니다.Thanks... yeah I will do that next time. The SQL statement does a find replacement on the entire database (including all tables)?
- 0
- 2011-01-25
- NetConstructor.com
-
@ NetConstructor.com 위에서mireille이 제공 한 SQL 문은 특정 테이블의 특정 필드에있는 문자열을 대체하기위한 일반적인 MySQL 명령입니다.이 명령문을 작성된 그대로 실행하려고 시도하면 작동하지 않습니다.이 명령이 작동하려면 TABLE_NAME 및 FIELD_NAME을 WordPress에서 사용하는 실제 필드 및 테이블로 변경해야합니다.@NetConstructor.com The SQL statement mireille gave you above is the generic MySQL command for replacing a string in a specific field in a specific table. If you tried running this statement exactly as it was written, it wouldn't work. For this command to work, you'd need to change the TABLE_NAME & FIELD_NAME to a real field and table used by WordPress.
- 0
- 2011-01-26
- Manzabar
-
상대 경로를 사용하려는 경우에도 워드 프레스의 많은 부분이 전체 경로를 자동으로 삽입하는 경향이 있습니다.이 작업을 수행하려면 https://wordpress.org/plugins/root-relative-urls/와 같은 플러그인이 매우 유용합니다.Note also that even if you desire to use relative paths, lots of parts of wordpress tend to auto-insert full paths. To really get this working a plugin like: https://wordpress.org/plugins/root-relative-urls/ is very, very helpful
- 0
- 2014-09-15
- benz001
-
- 2011-11-24
우리가 자주 필요로하는 워드 프레스 도메인을 변경하려면 localhost에서 사이트를 활성화하는 것이 좋습니다. 다음은 업데이트 쿼리의 전체 목록입니다.
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_url = replace(link_url, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_image = replace(link_image, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_usermeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); /*UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl' OR option_name = 'widget_text' OR option_name = 'dashboard_widget_options';*/ UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com');
- 필요한 경우 WP에 기본이 아닌 다른 테이블도 추가해야합니다.
업데이트 : 검색 바꾸기 DB 버전 3.1.0은 개발자를위한 사용자 친화적 인 프런트 엔드 도구로,PHP 직렬화 문자열이나 객체를 손상시키지 않는 데이터베이스 전체 검색/교체 작업을 수행 할 수 있습니다.
To change the wordpress domain what we often need, may be to make the site live from localhost: This is a complete list of update queries:
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_url = replace(link_url, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_image = replace(link_image, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_usermeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); /*UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl' OR option_name = 'widget_text' OR option_name = 'dashboard_widget_options';*/ UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com');
- We have to also add other tables which are not default with WP if necessary.
UPDATE: Search Replace DB version 3.1.0 is a user-friendly, front-end tool for developers, that allows you to carry out database wide search/replace actions, that don't damage PHP serialized strings or objects.
-
직렬화 된 데이터에는 작동하지 않습니다.테마 구성이 완전히 깨질 수 있습니다.This will not work for serialized data. It might completely break theme configuration.
- 2
- 2017-10-17
- Christian Lescuyer
-
- 2015-05-06
사실,테마의 wp_config 및functions.php 파일에서 일부 조정 만 SQL 쿼리를 사용할 필요가 없습니다.Wordpress Codex에서이 주제를 확인하십시오. https://codex.wordpress.org/Changing_The_Site_URL
Actually, you don't have to use a SQL query just some adjustments in wp_config and functions.php file in your theme. Check out this topic in Wordpress Codex: https://codex.wordpress.org/Changing_The_Site_URL
-
이것은 올바르지 않습니다.안타깝게도 WordPress는 일부 URL을 데이터베이스에 텍스트로 저장합니다.This isn't correct. WordPress unfortunately stores some URL in the database as text.
- 1
- 2015-09-30
- s_ha_dum
새 웹 사이트를 만들 때마다 먼저 "stage.domain-name.com"과 같은 하위 도메인에 준비 사이트를 만듭니다.
모든 것이 제대로 작동하면 데이터베이스를 내보내고 메모장에서 열고 "subdomain.domain-name.com"을 찾아서 바꾸고 "domain-name.com"으로 바꿉니다. 마지막으로 가져옵니다.라이브 사이트의 새 데이터베이스에 추가합니다.
제 질문은 ...phpmyadmin을 사용하여 전체 데이터베이스에서이 간단한 찾기/바꾸기를 수행하려면 어떤 SQL 쿼리를 실행해야합니까?
-CH